上位机与单片机的通信问题
上位机采用的是组态王这款监控软件,单片机采用的是STM32,系统的总框架分为4层: 服务器(组态王)——网关2——网关1——节点 通信过程中遇到的问题如下: 1. 将单片机与组态王连接完成后,组态王上没显示 (1)首先检查电路有没有连接正确(已经确定连接无误) (2)利用串口查看网关1跟网关2打印出来的数据(对照代码中的内容,确定运行到每一步应有什么标志,可以通过打印不同的数据来监测运行到哪一步) 2. 网关2打印的数据总是显示网关2已经给网关1下发查询命令了,但是却没有收到网关1给它回复的数据,而且网关1也没有数据打印 分析可以知道网关2已经给网关1下发查询命令了,但是可能它的命令没有下发成功卡在485那块,导致网关1没有接收到命令所以没有打印数据,或者是网关2已经成功发送出去,只是网关1不接收而已,又或者是网关1已经接收到了但没有解包执行。 出现这种现象,原因有以下几种: (1)程序跑死了 (2)485有问题 (3)硬件问题 因为这程序在之前一直跑得没问题,所以暂时先排除代码问题,先检查485那块的线路 检查结果:线路没连错,但是485线那块的RX,TX,GND这3根线裸露在空气中,而且有几根是相互接触了,用绝缘胶布包好之后,再一次通讯,这时网关1和2都有数据了,但是组态王还是没有显示 (网关2) 由我这个网关2打印的数据对照通信协议可知