从上位机发送多于两个字节,为什么返回上位机时只能接收一个?实在找不到错误点了,求解决,谢谢! #include<reg51.h>unsigned char flag,a,i;unsigned char code table[]="I have ";void init(){ TMOD=0X20; TH1=0XF3; TL1=0XF3; SCON=0X50; ES=1; EA=1; TR1=1; }void main(){ init(); while(1){ if(flag==1) { ES=0; for(i=0;i<7;i++) { SBUF=table
; while(!ti); TI=0; } SBUF=a; while(!TI); TI=0; ES=1; flag=0; } }} void sar() interrupt 4 { RI=0; a=SBUF; flag=1; }
2.SBUF寄存器只有一个字节的储存空间 。这就是为什么你要把I have分7次送入SBUF。否则的话,你为什么不直接写SBUF=I have?
一周热门 更多>