网关2代码流程

1.串口3接收中断中断触发,串口3接收到组态王下发的数据。Uart3_rev_flag 默认值为0。串口3接收到的字节数据自加1,使能定时器2。

2.T2中断触发,当recenum >= 8时,Uart3_rev_flag = 1。T2的计数时间正好计够modbus的3.5个时间字节长度。

3.T4中断触发,Reply_GW(GW_Command_data);将查询信息发给网关1,等待网关1查询完节点,将信息发送给网关2串口2.

4.串口2接送中断触发,Data_Check_Flag=1。

5.T3中断触发,进入receiveuart2();Receive_Check_Message(temp_GW);对接收到的数据进行解析,然后通过串口2发送查询应答。

6.重复执行定时器的中断,直到所有节点都查询完毕,也应答完毕,把所有处理完的信息打包到 COM_data.Com_total上发给组态王,执行main函数里ParseRecieve8()(从机上发组态王)。

猜你喜欢

转载自blog.csdn.net/lzy13785490347/article/details/80651317