1200和串口助手通讯9600波特率时发送AB接收是AB,4800波特率时,接收到的不是AB
1200和串口助手波特率设置都是9600或都是4800
问题补充:
只能用4800因为下位设备是4800的
目前PLC和串口助手通讯,只有9600是正常的。
用的send_P2P指令,发送AB820082,串口助手接收到情况如下
4800:EC00000000
9600:AB820082000000000000
19200:9EE618C00018C0000000000000
最佳答案
难道信号被干扰了?波特率低,意味着每个bit传输的时间长。
试试19200或者38400,或者更高。
从你附的报文数据来看,比较怀疑波特率没有匹配好。
9600:AB820082000000000000
19200:9EE618C00018C0000000000000
9600下的0x82与19200下的0x180xC0对应,
假设发送的数据是9600下的0x82,那么如果用19200的波特率接收,每个9600下的bit数据会变成19200下的2个bit数据。
就会出现9600下的0x82(二进制10000010)变为19200下的0x180xC0(二进制的00011000,11000000).
每个9600下的高电平1,变为19200下的2个高电平1.
给你的建议,修改波特率后,重新启动一次plc,再试试。
提问者对于答案的评价:
改波特率一定要重启