标题:
请教C51单片机串口收发出现的奇怪问题,返回数据不正确
[打印本页]
作者:
lsgzq
时间:
2019-8-8 16:29
标题:
请教C51单片机串口收发出现的奇怪问题,返回数据不正确
下面的代码是自己写的串口通信收发程序。从PC发给单片机16进制的数据,单片机收到后原样返回给PC机,程序能够运行,但单片机返回的数据有时候字符不正确(发送十次大约有一二次返回给PC的数据不正确,比如PC机发出的是7E,经过单片机返回的数据PC收到后不是7E),请教高手,看看是什么原因。
rs232:;串口中断处理程序
push dpl; 压栈保存断点
push dph;压栈保存断点
jnb ri,rett;判断是不是串口接收中断,不是接收中断就返回
mov a,sbuf;接收上位机发来的一个字节
clr ri;清接收中断
clr ti;清发送中断、
acall cc;调用延时程序,做为字符间隔
mov sbuf,a;将刚才上位机发来的一个字节通过串口再发送到上位机
acall cc;调用延时程序,做为字符间隔
clr ti;清发送中断
clr ri;清接收中断
ajmp rett;转到中断返回子程序
作者:
ryan.lee
时间:
2020-7-20 11:07
可能是波特率不准确!用示波器看下一个BIT的脉宽是否正确
作者:
SKYLAR123
时间:
2020-7-20 11:20
51单片机的9600波特率12MHZ的出错率为6%,如果是11.0952还会好点
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1