STM32CubeIDE生成问题代码,导致串口DMA无法正常使用
今天第二次遇到了cubeIDE生成的问题代码,专门记录一下。
cubeMX生成正常代码的过程
用STM32f407IGT6举例,用cubeIDE新建一个过程,我把它命名为uart_dma_init_issue,
按需求选择晶振,配置时钟,设置debug模式(这些都不影响问题复现)。
开启USART 1, 打开DMA接收
保存并生成代码,在生成的代码中我们可以看到DMA的配置先于UART1
使用如下函数可以正常接收串口信息
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData