找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3138|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

Proteus仿真串口接收不正確

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
下面的程序和仿真計(jì)劃實(shí)現(xiàn):單片機(jī)1向單片機(jī)2發(fā)送字符a,單片機(jī)2接收到a之后,將當(dāng)前測得溫度發(fā)送給單片機(jī)1,單片機(jī)1接收到溫度數(shù)據(jù),發(fā)送到一個(gè)終端設(shè)備(這里用Virtual terminal代替)。Proteus仿真發(fā)現(xiàn),單片機(jī)1發(fā)送出來a之后,單片機(jī)2無法正常發(fā)送溫度數(shù)據(jù);但是,采用Virtual terminal直接向單片機(jī)2發(fā)送字符a,單片機(jī)2可以正常發(fā)送溫度數(shù)據(jù)。請(qǐng)問哪位大佬知道這是為啥?
  1. /*單片機(jī)2程序*/
復(fù)制代碼
  1. /*單片機(jī)1程序*/
復(fù)制代碼



捕獲.JPG (120.29 KB, 下載次數(shù): 66)

捕獲.JPG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:902815 發(fā)表于 2021-4-13 10:04 | 只看該作者
這個(gè)問題解決了,解決方法是:修改單片機(jī)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.                 }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表