#include<reg52.h> unsigned char flag,a; void inter(); void main() { inter();
while(1) { if(flag==1) { ES=0; //关闭中断 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; //设定串行工作方式 SM1=1; EA=1; ES=1; }
这是我写的一个串口的程序,有点问题一直找不出来。这是实现单片机和pc的数据传送,但是用串口调试助手的时候,向单片机发送命令,单片机可以收到,但是在串口调试助手的接受区,收不到单片机发回来的命令。请高手解答 |