zoukankan      html  css  js  c++  java
  • 【小知识】使用串口8bit,7bit和6bit数据格式的奇偶校验问题

    这里以STM32H7为例进行说明,先看支持的校验格式:

     

    主要是三种,6bit数据 + 1bit校验,7bit数据+1bit校验,8bit数据+1bit校验:

     

    而发送寄存器和接收寄存器都是9bit格式的:

     

    那么重点来了,校验位是串口外设硬件完成的,对应的数值也在发送/接收寄存器上。操作8bit数据+1bit格式的时候感觉不出来,因为我们一般都是仅读取寄存器的8bit。

    操作6bit数据 + 1bit校验,7bit数据+1bit校验就有问题了,会把校验位数值也读出来。

    简单的测试
    7bit数据+1bit校验的串口回环(RX和TX短接)奇校验效果:

    发送hex数值11 ,22, 33, 44后,反馈的数据把校验位也给读出来了91, A2,B2,C4,即bit7都是1。

     

    软件屏蔽校验位后,正常效果:

     

    微信公众号:armfly_com 安富莱论坛:www.armbbs.cn 安富莱淘宝:https://armfly.taobao.com
  • 相关阅读:
    Response 文件下载
    Tomcat Servlet
    Junit 反射 注解
    Stream流 方法引用
    函数式接口
    网络编程
    缓冲流、转换流、序列化流、打印流
    字节流 字符流
    File类 递归
    线程池 Lambda表达式
  • 原文地址:https://www.cnblogs.com/armfly/p/15629465.html
Copyright © 2011-2022 走看看