51单片机串口通信时,读取串口SBUF,SBUF始终为0!

2024-11-04 09:57:47
推荐回答(2个)
回答(1):

RI=0; //先是收到电脑发送过来的数据,数据放在在SBUF中
SBUF=4;
a=SBUF; }
SBUF这个寄存器在单片机里接收和发送虽然是同名,但是物理上是分开的,我记忆里好像接收那个缓存是只能读不能写的,所以说SBUF=4;这个语句是不能成功写入;
除非上位机发数据下来,要不这个寄存器的值应该一直都是0.
……

回答(2):

SBUF=4;
a=SBUF; }
P1=SBUF;

这个地方写错了