我正在将 TFmini S LIDAR 与 nucleo STM32F103 连接,我使用 2 个 UARTS、uart1 和 uart3 来接收 LIDAR 数据。我为此使用 DMA。LIDAR 频率为 1000Hz,数据长度为 9 个字节。uart 1 和 3 波特率设置为 256000。我正在使用 HAL_UART_ErrorCallback() 函数来捕获任何错误。
当我通过切断电源来重置电路板时,一切正常。但是,如果我使用重置按钮或软件重置将其重置,则其中一个 uart 冻结并且我看不到任何错误。我也没有检查过错误标志。
我尝试了没有 DMA 的基于中断的接收,但它没有冻结。所以这是 DMA 的问题,但我没有收到任何错误。