CP341+CM1241通过ASCII(自由口)协议通信

1. 硬件配置

  • 300侧

  • 1200侧

对于以什么方式结束所接收的消息,此处是默认的时间结束。

2. 程序

  • 300侧
    EN_R管脚可以常1;
    LADDR是输入输出IO地址;
    DB_NO填发送/接收数据DB号;
    DBB_NO填发送/接收数据DB起始地址;
    图一左边通信出错时的重连逻辑,这一类重连思路对处理通信类程序提高稳定性作用很大。一般思路是当出现连接出错,连接超时或者连接没有反馈时,利用计时器,超时重置request,反复请求,当然请求次数如果过多也不能连接上的话,可以考虑做一个重连次数或者超时报警;其余二进制魔数和此处PtP连接无关,不用在意。

  • 1200侧
    send请求在自动程序中指定;
    PORT填硬件标识符
    BUFFER处拖整个DB过去或者DB里面的地址片段过去都没有区别(前提是所用DB里面的所有内存都被收发过程使用到)
    SEND_REQ也可以做重连逻辑
    对于CM1241这个模块而言,连续收发数据量过大的话可能出现缓存堆积,从而导致数据丢失或出错,可以使用指令RCV_RST来清除缓存。


CP341+CM1241通过ASCII(自由口)协议通信
http://example.com/2024/07/21/CP341+CM1241通过ASCII(自由口)协议通信/
作者
xiao cuncun
发布于
2024年7月21日
许可协议