stm32-串口实验遇到的问题

1.Printf函数不能在调试助手里正常打印?

前提是已经重定向了printf到串口,而且已经在option里勾上了use microlib,一切配置都毫无问题,在main.c里简单printf(“balabala”);却不能在调试助手里打印出来,点发送也只能发送在调试界面输入的内容;

2.解决方案

(1)将连接电脑的串口线,拔一下,再插一下,点击发送,打印就OK了;

(2)上面这种方法比较笨重,还有一种简单的方法:直接reset,就会直接答印了;

3.分析

实质上两种方法有根本的区别,读者自行实验判断;由于我是用串口烧写程序的,在烧写时会关闭调试助手的串口,等烧写完再打开调试助手的串口,在这段时间内,一条printf打印信息已经被发送完了,但根本没被调试助手接收到,所以只要reset一下,就会马上打印你想输出的信息了;

4.总结

一开始以为是调试助手的问题,到处下载其他的调试助手,实则结果都一样;然后再排查程序的问题(重定向),也没问题;再着查看配置的问题,比如引脚的配置,波特率的配置,也都没问题;最后偶然插拔了一下usb线就可以了解决问题了;再最后发现reset更为有效。所以通过以上步骤可以发现,遇到问题,只要一一排查所有的可能性,最终是会发现答案的。

猜你喜欢

转载自www.cnblogs.com/lzd626/p/9279669.html