#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,我就跟迷惑了,高手指點迷津吧,謝謝!!! |