Embedded stm32F1 DMA在使用2个UART时冻结,没有任何错误

Embedded stm32F1 DMA在使用2个UART时冻结,没有任何错误,embedded,stm32,microcontroller,nucleo,stm32f1,Embedded,Stm32,Microcontroller,Nucleo,Stm32f1,我正在连接TFmini S激光雷达和核子STM32F103,我正在使用2个UART、uart1和uart3来接收激光雷达数据。我正在使用DMA。激光雷达频率为1000Hz,数据长度为9字节。uart 1和3波特率设置为256000。我正在使用HAL_UART_ErrorCallback()函数捕获任何错误 当我通过切断电源重置电路板时,一切正常。但如果我用复位按钮或软件复位,其中一个uart会冻结,我看不到任何错误。我已经检查了错误标志,但也没有 我试着在没有DMA的情况下进行基于中断的接收,但

我正在连接TFmini S激光雷达和核子STM32F103,我正在使用2个UART、uart1和uart3来接收激光雷达数据。我正在使用DMA。激光雷达频率为1000Hz,数据长度为9字节。uart 1和3波特率设置为256000。我正在使用HAL_UART_ErrorCallback()函数捕获任何错误

当我通过切断电源重置电路板时,一切正常。但如果我用复位按钮或软件复位,其中一个uart会冻结,我看不到任何错误。我已经检查了错误标志,但也没有


我试着在没有DMA的情况下进行基于中断的接收,但它不会冻结。因此,这是DMA的问题,但我没有收到任何错误。

我建议您在ST Electronics帮助论坛上询问(如果您不是在同一时间)如果它是通过硬重置而不是软重置工作的,那么闻起来好像有些东西没有正确初始化。例如,确保在启动初始化期间清除所有启用的中断请求。您是否监视DMA控制器检测到的错误?如果你不是,这将是一个好的开始。