请教485通信指令查询问题

2019-08-13 21:18发布

请教大神我想用485通信实现下面的功能:
1、向一个设备发送一个开机指令比如:5A A5 04 01 01 01 05
2、正常来说,对方设备会给我一个响应代码,比如:5A A5 03 01 01 03
如果我接收到这个响应代码,我就发另外一组指令,比如查询指令。
如果我没接收到这个响应代码,我就继续重复发送开机指令
如果我都发了5遍开机指令,我还没收到响应指令,那么我就报警,显示485通信故障?

请求大神给个明确思路,最好给打个样,小白搞编程,简直难度忒大了!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-08-14 01:03
gtw1123
2楼-- · 2019-08-14 01:40
你可先和PC通信试好后在试这个程序,最好5个数据发完后延时下,给接收端时间处理时间。如果还是不行,那就是你接收端程序没有写好。
d1z1y2
3楼-- · 2019-08-14 01:52
你这思路挺明确的啊
EVERGREEN
4楼-- · 2019-08-14 04:03
 精彩回答 2  元偷偷看……
xlong_06
5楼-- · 2019-08-14 07:34
EVERGREEN 发表于 2017-9-30 13:06
思路是明确,代码不知道怎么写。
哪位大神帮忙分析下,看看这样为什么不行?
rs485buf[]是用来存放接收数 ...

你这也没有必要每个都检测吧,弄个简单的异或就可以了,还有你用个while语句,你这开完一次机之后你的通讯就不能用作别的了,就是一直开机啊,用个if就行了。

一周热门 更多>