标题:
Proteus仿真串口接收不正确
[打印本页]
作者:
Henzie0226
时间:
2021-4-12 19:38
标题:
Proteus仿真串口接收不正确
下面的程序和仿真计划实现:单片机1向单片机2发送字符a,单片机2接收到a之后,将当前测得温度发送给单片机1,单片机1接收到温度数据,发送到一个终端设备(这里用Virtual terminal代替)。Proteus仿真发现,单片机1发送出来a之后,单片机2无法正常发送温度数据;但是,采用Virtual terminal直接向单片机2发送字符a,单片机2可以正常发送温度数据。请问哪位大佬知道这是为啥?
/*单片机2程序*/
复制代码
/*单片机1程序*/
复制代码
捕获.JPG
(120.29 KB, 下载次数: 66)
下载附件
2021-4-12 19:36 上传
作者:
Henzie0226
时间:
2021-4-13 10:04
这个问题解决了,解决方法是:修改单片机1的接收停止条件。
while(1)
{
if(flag==1)
{
for(i=0;i<6;i++)
{
SBUF=s[i];
while(!TI);
TI=0;
}
flag=0;
}
if(s[5]=='D')
{
s[5]='A';
break;
}
else
{
count++;
if(count==10)
{
count=0;
break;
}
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1