找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1347|回复: 2
打印 上一主题 下一主题
收起左侧

单片机多机通信程序 主机为什么统计有时不准?

[复制链接]
跳转到指定楼层
楼主
ID:207051 发表于 2022-4-22 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请哪位大师帮忙看一下错在哪里?谢谢!
主机发送从机号,从机收到+1,
extern uchar  Slave_PCS=-1;//从机计数初值 ,为0时第一次会少数

void ZOHJI_NUM()   //============================发从机代码=0-255==========
{
static uchar  TX_ZHONGJI_COUT=0;//发送从机的编码
        uchar  SLAVE_COUT=0;//从机从计数//
          //===接收到的数据等于发射的数据
      if(ZHONGJI_Dat==TX_ZHONGJI_COUT)
     {
           ERR_SALVE_TIM=0;  //没收到开始计时   
           TX_ZHONGJI_COUT++; //发送从机号,0-255XTD!
           SLAVE_COUT++;  //从机返回来编号0-255XDNX!收到也开始计数
     Slave_PCS++;    //开始统计从机数量
     }
     
   if(ZHONGJI_Dat!=TX_ZHONGJI_COUT)
     
      {
     
        TX_ZHONGJI_COUT;  //发从机号出去,从机没有收到,重发不变的代码TX_ZHONGJI_COUT
        SLAVE_COUT;     //从机没有收到,重发不计数
   
        ERR_SALVE_TIM++;  //从机未收到超时计时
     
      }
    if(ERR_SALVE_TIM==4)
        {      
         TX_ZHONGJI_COUT++;  //发从机号出去,3次从机没有到,发下一个从机代码
      SLAVE_COUT++;         //统计从机数量加一次。保持跟发送的代码同步
        }
        
     if(ERR_SALVE_TIM==7)   //如果3次从机也没有收到就结束
        {
         ERR_SALVE_TIM=0;      
         TX_ZHONGJI_COUT=1;  //如果还没有从机返回来重新开始,表一轮结束//从1开始发
     
       SLAVE_COUT=0; //从机计数清0
                  ZHONGJI_PCS_A=Slave_PCS;//把计数发送到遥控器上显示
                  Slave_PCS=0; //从机总计数清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);//发代码1-255个数   
     
  memset(S_tab,0,sizeof(S_tab));  
   
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:399179 发表于 2022-11-15 20:52 来自手机 | 只看该作者
楼主找到原因了吗?
回复

使用道具 举报

板凳
ID:883242 发表于 2022-11-16 14:40 | 只看该作者
先把主机和从机的问题区分开来,先用PC端串口助手自动发送功能模拟主机,看看从机响应如何。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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