現在我來回答一下吧:
參照下面本人的例子來說明一下:
#include
#include
intmain(void)
{
SCON=0x50;
TMOD=0x20;
TCON=0x40;
TH1=0xE8;
TL1=0xE8;
T1=1;
TR1=1;
while(1)
{
printf("HelloWorld!\n");
}
return0;
}
代碼的具體意思怎么樣,我就不解釋了,重點放在如何實現從串口調試窗口中輸出printf的內容吧。
其實很簡單,將代碼編譯鏈接后,開始調試,分別打開view->serialwindow#1
然后,我們按run鍵,此刻,serialwindow#1并沒有任何內容,癥結在哪兒呢?
我們回想一下串口通信的知識吧,知道了吧,我們沒有在代碼中設置串口發送寄存器中的內容,也就是,我們根本就還沒啟動串口發送消息。
這下好辦,我們繼續打開peripherals->serialchannel這個就是串口寄存器控制中心,我們在給其中的TI前面打上個勾,也就是啟動串口發送消息。
在此,我們就可以看到串口調試窗口中輸出printf的內容了~
上面的代碼是我參照那本書上的例子,我分析后,發現其實是它的代碼出錯了,只要把代碼改正,也就不用那么麻煩了,經過上面這一步,估計大家猜到錯誤出在哪里了,就就是:
T1=1;
我們改回:
TI=1;
然后直接運行就可以看到效果了!