#include<reg52.h>
void main()
{
TMOD=0x20;//設置定時器1為工作方式2
TH1=0xfd;
TL1=0xfd;//波特率9600
TR1=1;
REN=1;
SM0=0;
SM1=1;
while(1)
{
SBUF=0xff;
while(!TI);
TI=0;
}
}
就這么簡單的一個串口程序,功能是一直向計算機發送ff,但是運行程序的時候串口調試助手收到不是ff,有時候是fd,有時候是fe。運行別的串口程序也出現類似的問題,不知道是什么原因,是硬件電路有問題?還是串口調試助手設置不對,我用的串口調試助手2.2。程序好像沒有問題吧,這么簡單?對了還有,我用過的是偉福調試軟件,在串口觀察窗口,發現顯示的波特率不是9600,而且SBUF也不發生變化,一直是00,我就跟迷惑了,高手指點迷津吧,謝謝!!!
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |