恭喜,你发布的帖子
发布于 2016-06-22 17:15:37
8楼
主要是你对CM 1241 485工作方式不熟悉。
自由口通讯要根据仪表的协议,可以组态 485模块的“静态”设置;或动态设置(PORT_CFG)与协议要求一致。发送与接收也是可以“静态”或“动态”设置的。
因为,485是半双工,所以,异步通信通常的写法是(不管主站、从站)总是处于接收状态(监听总线的报文)。
主站:仅在需要时,准备好数据(发送缓冲区)转为发送状态(上升沿请求就交给了模块)。定时检查模块的信息即可。当完成时,转回接收状态,等待从站的响应。
所有这些,都可以(也应该)在定时中断中去做(间隔时间根据波特率)。包括:重发次数、等待超时的处理等等。
请填写推广理由:
分享
只看
楼主