标题: 关于单片机串口用printf()打印输出的问题 [打印本页]

作者: 千江水    时间: 2020-4-23 20:24
标题: 关于单片机串口用printf()打印输出的问题
哪位大佬能解释一下51单片机串口打印输出用printf()函数的时候,为什么要在前面加一句TI = 1;才行呢?  
我的理解是TI 是:发送完一帧数据后就会自动置1,printf()函数是与putchar()函数相关的,内部也有while(!TI);判断的。
原本是不需要使  TI = 1; 的呀??

1455.png (88.33 KB, 下载次数: 99)

这个是自己写的函数,如果没有最后一句,打印不出我要的结果

这个是自己写的函数,如果没有最后一句,打印不出我要的结果

TIM图片20200423201934.png (94.83 KB, 下载次数: 88)

这个是putchar函数

这个是putchar函数

作者: 千江水    时间: 2020-4-23 20:25
哪位 大佬帮忙解答一下
作者: xuyaqi    时间: 2020-4-23 20:48
你说的很对,TI 是发送完一帧数据后会自动置1,程序里的 TI = 1; 是多余的。
作者: xxpp2011    时间: 2020-4-23 21:01
关于51单片机使用printf串口调试
https://www.cnblogs.com/qsyll0916/p/7847088.html
作者: 千江水    时间: 2020-4-29 08:34
xxpp2011 发表于 2020-4-23 21:01
关于51单片机使用printf串口调试
https://www.cnblogs.com/qsyll0916/p/7847088.html

谢谢你, 我终于弄懂了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1