[MCU] 修改成第一次串口通讯失败后就亮红灯

[复制链接]
1021|14
 楼主| spark周 发表于 2019-10-27 15:42 | 显示全部楼层 |阅读模式

void dongruan_check(unsigned char road)
{  unsigned char i;
   unsigned char err=0;
           for(i=0;i<60;i++)
           {send_cmd=Cmd[3+road];
           }
           for(i=0;i<6;i++)
           {send_cmd[9+i]=addr;
           }
           _EINT();
                 for(i=0;i<3;i++)
              {
                uart0_send(Cmd[3+road]); //抄表
                time_start();
                time_out=0;
                while((RCV_Flag!=0xff)&&(time_out!=60));
                time_stop();
               // Judge_Cmd();
               // if(Which_Cmd==4+road)
                RCV_Flag=0x00;
                if((RCV_Byte[1]==0x30)&&(RCV_Byte[34]==0x91))
                {err=0xff;
                for(i=0;i<50;i++)
                 {RCV_Byte=0;
                  }
                break;}
                if(i==2) err=5;
              }
               
         //  }
   if(err==0xff){reslut_lcd|=(1<<(road*2+1)); reslut_lcd&=~(1<<(road*2)); } //哪路亮绿灯
   else {reslut_lcd&=~(1<<(road*2+1)); reslut_lcd|=(1<<(road*2)); }    //哪路亮红灯


}
我要修改通讯次数。上面车=的是第一次串口通讯失败后,再通讯3次就亮红灯(595接双色管)。现我需要修改成第一次串口通讯失败后就亮红灯。
 楼主| spark周 发表于 2019-10-27 15:44 | 显示全部楼层
一个串口通讯成灯后亮灯的小程序。现在需要进行修改。
liliang9554 发表于 2019-10-27 15:48 | 显示全部楼层

可以改成各种亮
 楼主| spark周 发表于 2019-10-27 15:51 | 显示全部楼层
嗯,那我按大家的说法挨个排查一下,谢谢哈
liliang9554 发表于 2019-10-27 15:55 | 显示全部楼层

是不是数据不能发送了?
午夜粪车 发表于 2019-10-27 15:57 | 显示全部楼层
检查硬件电路是否存在问题。
zhaoxqi 发表于 2019-10-27 15:59 | 显示全部楼层
你的IO是怎么配置的?
huangchui 发表于 2019-10-27 16:02 | 显示全部楼层
把整个代码工程上传看看。
jiajs 发表于 2019-10-27 16:05 | 显示全部楼层

这个逻辑上设计比较简单
zhanghqi 发表于 2019-10-27 16:07 | 显示全部楼层
你串联的LED是多大电路?
wyjie 发表于 2019-10-27 16:09 | 显示全部楼层
使用示波器测量一下电平信号。
jlyuan 发表于 2019-10-27 16:11 | 显示全部楼层

数据是否存在问题?
zhenykun 发表于 2019-10-27 16:17 | 显示全部楼层
单步调试的话,可以查看接收到数据。
wyjie 发表于 2019-10-27 16:20 | 显示全部楼层
IO是怎么配置的
sensitivity 发表于 2019-10-28 11:19 | 显示全部楼层
直接找到原来的三次失败判断,改成一次就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

821

主题

10121

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部