找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)多機(jī)通信程序 主機(jī)為什么統(tǒng)計有時不準(zhǔn)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:207051 發(fā)表于 2022-4-22 22:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請哪位大師幫忙看一下錯在哪里?謝謝!
主機(jī)發(fā)送從機(jī)號,從機(jī)收到+1,
extern uchar  Slave_PCS=-1;//從機(jī)計數(shù)初值 ,為0時第一次會少數(shù)

void ZOHJI_NUM()   //============================發(fā)從機(jī)代碼=0-255==========
{
static uchar  TX_ZHONGJI_COUT=0;//發(fā)送從機(jī)的編碼
        uchar  SLAVE_COUT=0;//從機(jī)從計數(shù)//
          //===接收到的數(shù)據(jù)等于發(fā)射的數(shù)據(jù)
      if(ZHONGJI_Dat==TX_ZHONGJI_COUT)
     {
           ERR_SALVE_TIM=0;  //沒收到開始計時   
           TX_ZHONGJI_COUT++; //發(fā)送從機(jī)號,0-255XTD!
           SLAVE_COUT++;  //從機(jī)返回來編號0-255XDNX!收到也開始計數(shù)
     Slave_PCS++;    //開始統(tǒng)計從機(jī)數(shù)量
     }
     
   if(ZHONGJI_Dat!=TX_ZHONGJI_COUT)
     
      {
     
        TX_ZHONGJI_COUT;  //發(fā)從機(jī)號出去,從機(jī)沒有收到,重發(fā)不變的代碼TX_ZHONGJI_COUT
        SLAVE_COUT;     //從機(jī)沒有收到,重發(fā)不計數(shù)
   
        ERR_SALVE_TIM++;  //從機(jī)未收到超時計時
     
      }
    if(ERR_SALVE_TIM==4)
        {      
         TX_ZHONGJI_COUT++;  //發(fā)從機(jī)號出去,3次從機(jī)沒有到,發(fā)下一個從機(jī)代碼
      SLAVE_COUT++;         //統(tǒng)計從機(jī)數(shù)量加一次。保持跟發(fā)送的代碼同步
        }
        
     if(ERR_SALVE_TIM==7)   //如果3次從機(jī)也沒有收到就結(jié)束
        {
         ERR_SALVE_TIM=0;      
         TX_ZHONGJI_COUT=1;  //如果還沒有從機(jī)返回來重新開始,表一輪結(jié)束//從1開始發(fā)
     
       SLAVE_COUT=0; //從機(jī)計數(shù)清0
                  ZHONGJI_PCS_A=Slave_PCS;//把計數(shù)發(fā)送到遙控器上顯示
                  Slave_PCS=0; //從機(jī)總計數(shù)清0   
   
        }
   
   TX_ZHONGJI_NUM[0]=TX_ZHONGJI_COUT/100+0x30;
      TX_ZHONGJI_NUM[1]=TX_ZHONGJI_COUT%100/10+0x30;
   TX_ZHONGJI_NUM[2]=TX_ZHONGJI_COUT%100%10+0x30;
   TX_ZHONGJI_NUM[3]='X';
      TX_ZHONGJI_NUM[4]='T';
   TX_ZHONGJI_NUM[5]='D';
   TX_ZHONGJI_NUM[6]='!';   
     
SendString(TX_ZHONGJI_NUM);//發(fā)代碼1-255個數(shù)   
     
  memset(S_tab,0,sizeof(S_tab));  
   
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:399179 發(fā)表于 2022-11-15 20:52 來自觸屏版 | 只看該作者
樓主找到原因了嗎?
回復(fù)

使用道具 舉報

板凳
ID:883242 發(fā)表于 2022-11-16 14:40 | 只看該作者
先把主機(jī)和從機(jī)的問題區(qū)分開來,先用PC端串口助手自動發(fā)送功能模擬主機(jī),看看從機(jī)響應(yīng)如何。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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