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(自由口)协议通信/