单片机串口通信问题。只能发送,不能接收是什么原因?附程序

2025-01-02 17:10:11
推荐回答(4个)
回答1:

SBUF0 = temp; //将接收到数据送出.
while(TI0 == 0); //发送标志位是否产生.
TI0 = 0; //清发送标志位
……
上述程序,会死机的。
while(TI0 == 0); //发送标志位是否产生.--永远等不到 TI0 = 1
一旦为1,立即就进入中断,在中断函数中,马上清零了。

回答2:

不能接收,不仅仅是程序的问题。
首先看,总线上有没有信号,先用示波器量一下。
如果有,再对照uart的设置说明仔细检查程序的配置。

串口通讯还是比较容易排查问题的,仔细看一下。

回答3:

你看看你的程序里面,“串口允许接收位”有没有置位,配合你的单片机数据手册看看。。。。。。。。

回答4:

麻烦`采纳.··.··.·