cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H723 PSSI DMA

KarlHungus38
Visitor

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 

0 REPLIES 0