串口通信协议,有关校验位(25分)

  • 主题发起人 主题发起人 hu0105
  • 开始时间 开始时间
H

hu0105

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在需要编写与一老外设备通讯的程序,老外的协议是这样的
采用8bit
sta+addr+data+crc
但是其中校验位的设定是:
当数据是地址时,校验位为'1'
当数据是data时,校验位为'0'
不知道串口在计算机上校验位能否在运行中更改

不够再加
 
你说的校验位是指端口设置中的奇偶校验,还是协议中的crc?

 
当然是端口的奇偶校验!
 
发送的时候倒可以间断,然后改了再发,
可是接收的时候就麻烦了
 
其实接收时只需要加上校验位就可以看到数据不必管校验位是‘1’或0;,
 
发地址码前将串口的校验位置为‘MARK’,然后发送地址码。接着将串口的校验
位置为‘SPACE’发送余下的数据即可。注意:改变校验位前,最好延时一段时间。
接收不用改串口设置。即:串口的校验位置为‘SPACE’。
 
呵呵发送的问题不是问题,那就比较容易了。
发送地址码——变换帧格式——发送数据
 
发地址码时可以更改串口的校验位,但前后都要延时片刻。
(本人同意 来自yqused :改变校验位前,最好延
时一段时间。接收不用改串口设置。即:串口的校验位置为‘SPACE’)
 
多人接受答案了。
 
后退
顶部