在使用STM32CubeIDE生成的代码,使能了串口1,DMA发送、接收通道后,只能发送一次。
查来查去,单步跟踪后发现在/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 文件第1319行:
huart->gState = HAL_UART_STATE_BUSY_TX;
发送完毕后也没有清除。
第二次发送时,一直卡在这个函数中:
解决办法:
在使用STM32CubeIDE生成的代码,使能了串口1,DMA发送、接收通道后,只能发送一次。
查来查去,单步跟踪后发现在/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 文件第1319行:
huart->gState = HAL_UART_STATE_BUSY_TX;
发送完毕后也没有清除。
第二次发送时,一直卡在这个函数中:
解决办法: