#include<reg52.h> unsigned char flag,a; void inter(); void main() { inter();
while(1) { if(flag==1) { ES=0; //關(guān)閉中斷 flag=0; SBUF=a; while(TI==1) TI=0; ES=1;
} } } void ser() interrupt 4 //中斷方式 {
RI=0; P0=SBUF; a=SBUF; flag=1;
} void inter() { TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; //啟動t1 REN=1; //允許串行接收 SM0=0; //設(shè)定串行工作方式 SM1=1; EA=1; ES=1; }
這是我寫的一個串口的程序,有點問題一直找不出來。這是實現(xiàn)單片機(jī)和pc的數(shù)據(jù)傳送,但是用串口調(diào)試助手的時候,向單片機(jī)發(fā)送命令,單片機(jī)可以收到,但是在串口調(diào)試助手的接受區(qū),收不到單片機(jī)發(fā)回來的命令。請高手解答 |