如何读取串口的奇偶校验位

lailzhihou 2010-03-02 06:05:30
我用的是三星的6410芯片,WinCE6.0系统,串口的驱动基本上是三星写的(核心的东西都没有改),现在我希望是能够在串口中收到数据的时候,能够读取到奇偶校验位的值,是1或是0,还有就是在发送数据的时候,我能够设定这个奇偶校验位的值是1或者0,不知道该怎么做呢???
额外,先问下,当我们的应用程式打开串口的时候,会设置这个校验方式,如果设定为无校验的时候,那么串口在发送数据的时候是不是就不会发送这个位,也就是数据发送完,就之直接发送停止位?如果设定校验位为奇偶校验或其他的校验的时候,是否是在发送完数据位后会接着发一位校验位,然后才是停止位???
...全文
310 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhdi1986 2010-03-05
  • 打赏
  • 举报
回复
串口设置中的DCB结构体中有一个Parity成员变量可以来设置奇偶校验,使用GetCommState()首先获取DCB的默认参数,然后修改一些成员变量,在使用SetCommState()设置串口。
halfboy 2010-03-05
  • 打赏
  • 举报
回复
UART发送的数据格式是可以编程的,看一下文档,这样说“包含一个开始位,5到8个数据位,一个可选的奇偶校验位,1到2个停止位”。假如你发送的数据位为8位,使用的是奇校验,停止位为1,那么发送一个数据打包后就应该十一位。所以在接收的那一端,得到的数据应该是十一位,不过是因为串口已经处理了,给出的是数据段的内容而已。理论是这样,不过没有捕捉过真实的数据情况。
lailzhihou 2010-03-04
  • 打赏
  • 举报
回复
wo zai lai ding
tankdin 2010-03-03
  • 打赏
  • 举报
回复
仅仅是一种设想,因为我之前做NXP的ARM还有51的时候都是可以直接设置串口模式的。
lailzhihou 2010-03-03
  • 打赏
  • 举报
回复
zi ji ding yi xia
博说医械研发 2010-03-03
  • 打赏
  • 举报
回复
这个没研究过,帮顶下吧
lailzhihou 2010-03-03
  • 打赏
  • 举报
回复
wo zai ding
domworldjohn 2010-03-02
  • 打赏
  • 举报
回复
如果是驱动的话,读取的数据中会包含校验位数据

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧