找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Proteus仿真串口接收不正确

查看数: 3352 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-12 19:38

正文摘要:

下面的程序和仿真计划实现:单片机1向单片机2发送字符a,单片机2接收到a之后,将当前测得温度发送给单片机1,单片机1接收到温度数据,发送到一个终端设备(这里用Virtual terminal代替)。Proteus仿真发现,单片机1 ...

回复

ID:902815 发表于 2021-4-13 10:04
这个问题解决了,解决方法是:修改单片机1的接收停止条件。
  1. while(1)
  2.                 {
  3.                         if(flag==1)
  4.                         {
  5.                                 for(i=0;i<6;i++)  
  6.                                 {  
  7.                                         SBUF=s[i];  
  8.                                         while(!TI);  
  9.                                         TI=0;  
  10.                                 }  
  11.                                 flag=0;  
  12.                         }
  13.                         if(s[5]=='D')
  14.                         {
  15.                                 s[5]='A';
  16.                                 break;
  17.                         }
  18.                         else
  19.                         {
  20.                                 count++;
  21.                                 if(count==10)
  22.                                 {
  23.                                         count=0;
  24.                                         break;
  25.                                 }       
  26.                         }
  27.                 }
复制代码

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表