cubemx生成F091VCTx工程配置,调试时发现uart时而打印,时而不打印,仿真进去发现uart卡在UART_WaitOnFlagUntilTimeout这个函数中出不来;接线也检查了,并且通过直接芯片上引脚上引出线也测试了,情况一样,刚上电有时能打印1s钟,打印1s钟后又不打印了,有时重新上电也不打印,通过各种检查,确定线路没有问题,那肯定就是程序出问题了。

检查了程序,除了cubemx生成的串口初始化函数,也没有其他代码,因此还是找不到原因,只能求助百度了,查到这里http://www.stm32cube.com/question/821

博客里有这样一条回复:

UART串口发送卡在UART_WaitOnFlagUntilTimeout()函数出不来

,所以自己赶快检查自己的cubemx管脚配置去。发现自己的uart1怎么有4个管脚:

UART串口发送卡在UART_WaitOnFlagUntilTimeout()函数出不来

发现管脚配置里把UART1_CTS,UART1_RTS也配置上了。

UART串口发送卡在UART_WaitOnFlagUntilTimeout()函数出不来

于是,去掉这两个管脚的配置,再次测试就ok了。(这个工程是很早按照最早的电路图配置的,后来电路图改了,所以就。。。)

UART串口发送卡在UART_WaitOnFlagUntilTimeout()函数出不来

UART串口发送卡在UART_WaitOnFlagUntilTimeout()函数出不来

相关文章:

  • 2021-09-11
  • 2021-10-23
  • 2021-08-30
  • 2021-04-10
  • 2022-12-23
  • 2021-08-07
  • 2021-11-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-28
  • 2022-12-23
  • 2021-11-17
相关资源
相似解决方案