標題: 關于單片機串口用printf()打印輸出的問題 [打印本頁]

作者: 千江水    時間: 2020-4-23 20:24
標題: 關于單片機串口用printf()打印輸出的問題
哪位大佬能解釋一下51單片機串口打印輸出用printf()函數的時候,為什么要在前面加一句TI = 1;才行呢?  
我的理解是TI 是:發(fā)送完一幀數據后就會自動置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 是發(fā)送完一幀數據后會自動置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 發(fā)表于 2020-4-23 21:01
關于51單片機使用printf串口調試
https://www.cnblogs.com/qsyll0916/p/7847088.html

謝謝你, 我終于弄懂了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1