开发小白用stm32开发时遇到的问题记录
1.问题描述:使用HAL_UART_Receive_DMA进行接收时,经常接收不到信息
处理过程:
经查阅资料发现对于DMA串口,每个串口都有其对应的通道,查询后更改串口通道。
由于使用NUCLEO开发板进行调试,调试过程中发现使用的串口未被引到对应的排针上,而是接到板上自带的STLINK的串口上。
串口极其不稳定,有时能收到有时不能收到,但是另外一发送模块确实是发出来了,经打中断发现经常会出现溢出错误,调试了半天都不行,极其苦恼,后灵光一闪,在使用HAL_UART_Receive_DMA函数接收之前利用HAL_UART_Init函数再次对串口进行初始化,之后发现可以接收到正常数据,原因应该是在没有使用接收函数之口已经收到了一堆的数据,导致溢出,利用HAL_UART_Init进行清除后可以收到正确数据。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』