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
  • 相关阅读:
    Kafka 生产者 自定义分区策略
    同步互斥
    poj 1562 Oil Deposits(dfs)
    poj 2386 Lake Counting(dfs)
    poj 1915 KnightMoves(bfs)
    poj 1664 放苹果(dfs)
    poj 1543 Perfect Cubes (暴搜)
    poj 1166 The Clocks (暴搜)
    poj 3126 Prime Path(bfs)
    处理机调度
  • 原文地址:https://www.cnblogs.com/armfly/p/15629465.html
Copyright © 2011-2022 走看看