2025-11-04 7:21 AM - last edited on 2025-11-04 7:37 AM by mƎALLEm
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code.
Hello,
i have a Project, where i have an FPGA connected to a STM32H723 via PSSI. The FPGA sends out 16 Bit of Dummy Data over 8 Data Lines Every 1 ms. In the STM i can receive the Data without using DMA like this: "HAL_PSSI_Receive(&hpssi,&received_pssi, 1, 5000)"
Now i enabled DMA in CubeMX (DMA1 Stream 0). Inside the main.c Cube created " MX_DMA_Init();" for me.
I added:
HAL_PSSI_ENABLE(&hpssi);
if (HAL_PSSI_Receive_DMA(&hpssi, (uint32_t*)rxBuffer, BUFFER_SIZE) != HAL_OK)
{
Error_Handler();
}
HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);
And this does not end up in the Error Handler.
As Soon as the main while loop is executed, i end up in the "HAL_PSSI_ErrorCallback" with the Error ID "0" (which corresponds to "HAL_PSSI_ERROR_NONE", so an Error with no Error?
After that, the rxBuffer stays empty. So How do i correctly init a DMA for PSSI and then access the incoming Data?
best Regards Karl