恭喜,你发布的帖子
发布于 2023-04-12 00:23:50
9楼
1、如果是CRC校验错误,直接就扔了该条信息,因为不确定该条信息是从站回应的。
不过,这个CRC错误,可以开放出来,错误码定为16。
2、这个库程序,只负责通讯的,不包括数据如何处理。12个位,字节内其它4位置0,由用户程序自己处理;
3、从站忙是从站响应的,这个如果从站有错误码6,你可以看到。从站忙到 无响应,那是超时错误。
4、优先策略,是主程序的事。你可以让所有的REP=0,也就是不自动循环轮询。要通讯的参数块的REQ=1,它就进入通讯,完了自动复位REQ,等待下一次置位。
5、掉站。我记得 芳季 说过,那一个站掉了,程序还能无事一样运行。
超时时间是每个通讯单独设置的,当然可以统一为100ms之类的。让掉站影响最小,可为每一个通讯具体计算一个合适的超时时间。
每个参数块内有两个计数器,分别为通讯成功 和通讯 失败。掉站可以由主程序来监控判断。
总之一点,这个库程序不做全部的事,但是开放一些必要的数据接口供主程序进一步处理。
2、这个库程序,只负责通讯的,不包括数据如何处理。12个位,字节内其它4位置0,由用户程序自己处理;
这就有点勉强了,官方的指令可不是这样处理的。我做的程序也没有这个问题。
3、从站忙是从站响应的,这个如果从站有错误码6,你可以看到。从站忙到 无响应,那是超时错误。
官方的从站忙6号错误,不是从站发回的。
请填写推广理由:
分享
只看
楼主