电源管理 网关一 代码流程理解

1。网关二利用 串口3 485通讯 对网关一下发查询命令 
起始位                ae00010401720000002f
查询命令0x02:(起始位+网关1ID+校验码+消息长度+功能控制位+time)


2。当网关一收到命令时 串口2发生中断 并记录标志位 check_over=1;


3。TIM2中断触发,case Free_station:  receiveuart2();//解析网关2发过来的数据
               (receive_check_SIMfirst(temp_SIM)!=NULL;接收网关2的数据并解包 不为空
    网关ID接收正确 1

   校验码接收正确 4

  长度为 17

   命令接受到位  2
   0年  0月  0日  0时  0分  0秒
                case inquire_Over: GW_ok_station=Busy_station;


4。TIM3中断触发,任务的调度case Busy_station:(Command_exe                                        (gw_Command_inquire,Number_nodes)!=NULL); 
                输出:   网关2查询查询命令接收完毕


5。网关一向节点发送查询命令

查询命令0x02:( 节点ID+0x02+0x2f(结束符) ) 共6个字节

  网关1会对32个节点一个一个的进行查询。
            开始查询第1个节点。
            节点ID1
            00012040e0111332f
       
6。当节点收到查询命令时 串口2发生中断 并记录标志位 check_over_sim==1

7。TIM2中断触发,case Busy_station: receiveuart3();接收节点发过来的数据解包
响应命令0x03:(节点ID+功能控制位+校验码+长度+节点名称+电源状态+返回结果+结束符) 共14个字节  查询和控制节点的响应
        (receive_check_Messege(temp_GW)!=NULL)解包节点发送给网关一数据不为空
            节点ID为 1
            命令接受到位  2
            校验码接收正确 4


            节点to网关1长度为 e

            

           节点名称 1

            11 电源状态 33 返回结果 
            结束 2f
            节点数据接收完毕
     case gw_Command_inquire:串口3中断 
      
8。查询10次后,printf("\r\n数据上传完毕\r\n");
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值