本帖最后由 sytu_chyq 于 2010-11-1 10:37 编辑
利用奇偶校验位当发送地址时奇偶校验位强制位1
当发送数据时奇偶校验位强制为0
当接收数据时再设为偶校验
通过判断接收到的数据和PE位来确定第9位是1还是0
设备是当发送最后一个数据时第9位置1
表示数据发送结束
串口发送接收没有用中断
先发送完地址及可选的数据再转为接收
循环接收数据,直到超过最大的数据量或第9位置1或接收超时
现在接收长点的数据(20几字节数据)老是数据还没接收完第9位就置1了
再发送同样命令接收的是后续字节
试过不判断第9位为1终止接收,即1次把所有数据都收上来不管第9位是1还是0
连续接收5次,数据和方式位都正常,只是偶尔有一两次中间有方式位置1
咋回事啊 |