打印
[ZLG-ARM]

arm串口9位通讯问题请教

[复制链接]
1265|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sytu_chyq|  楼主 | 2010-10-30 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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

咋回事啊

相关帖子

沙发
sytu_chyq|  楼主 | 2010-11-1 10:43 | 只看该作者
有人做过arm串口9位通讯的么
给点建议或发个例程参考下
谢谢

使用特权

评论回复
板凳
sytu_chyq|  楼主 | 2010-11-1 16:24 | 只看该作者
我的处理方法
当方式位中间被置1时
可能是方式位接收或者判断时出错
可能后面还有数据
接收还未接收到的数据丢弃掉
然后重新发送命令

好像接收长数据都没办法一次接收成功
都要好多次
好麻烦

没人关注下。。

使用特权

评论回复
地板
sytu_chyq|  楼主 | 2010-11-2 15:56 | 只看该作者
这问题已解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

223

帖子

0

粉丝