stm32-串⼝实验遇到的问题
1.Printf函数不能在调试助⼿⾥正常打印?
前提是已经重定向了printf到串⼝,⽽且已经在option⾥勾上了use microlib,⼀切配置都毫⽆问题,在main.c⾥简单printf(“balabala”);却不能在调试助⼿⾥打印出来,点发送也只能发送在调试界⾯输⼊的内容;
2.解决⽅案
stm32怎么使用printf
(1)将连接电脑的串⼝线,拔⼀下,再插⼀下,点击发送,打印就OK了;
(2)上⾯这种⽅法⽐较笨重,还有⼀种简单的⽅法:直接reset,就会直接答印了;
3.分析
实质上两种⽅法有根本的区别,读者⾃⾏实验判断;由于我是⽤串⼝烧写程序的,在烧写时会关闭调试助⼿的串⼝,等烧写完再打开调试助⼿的串⼝,在这段时间内,⼀条printf打印信息已经被发送完了,但根本没被调试助⼿接收到,所以只要reset⼀下,就会马上打印你想输出的信息了;
4.总结
⼀开始以为是调试助⼿的问题,到处下载其他的调试助⼿,实则结果都⼀样;然后再排查程序的问题(重定向),也没问题;再着查看配置的问题,⽐如引脚的配置,波特率的配置,也都没问题;最后偶然插拔了⼀下usb线就可以了解决问题了;再最后发现reset更为有效。所以通过以上步骤可以发现,遇到问题,只要⼀⼀排查所有的可能性,最终是会发现答案的。