#include<reg52.h> void main() {
TMOD=0x20;//設(shè)置定時(shí)器1為工作方式2 TH1=0xfd; TL1=0xfd;//波特率9600 TR1=1; REN=1; SM0=0; SM1=1; while(1) { SBUF=0xff; while(!TI); TI=0; } } 就這么簡(jiǎn)單的一個(gè)串口程序,功能是一直向計(jì)算機(jī)發(fā)送ff,但是運(yùn)行程序的時(shí)候串口調(diào)試助手收到不是ff,有時(shí)候是fd,有時(shí)候是fe。運(yùn)行別的串口程序也出現(xiàn)類(lèi)似的問(wèn)題,不知道是什么原因,是硬件電路有問(wèn)題?還是串口調(diào)試助手設(shè)置不對(duì),我用的串口調(diào)試助手2.2。程序好像沒(méi)有問(wèn)題吧,這么簡(jiǎn)單?對(duì)了還有,我用過(guò)的是偉福調(diào)試軟件,在串口觀察窗口,發(fā)現(xiàn)顯示的波特率不是9600,而且SBUF也不發(fā)生變化,一直是00,我就跟迷惑了,高手指點(diǎn)迷津吧,謝謝!! |