奇偶校验这个概念在逻辑设计里面经常会用到,但有的人对奇偶校验的理解很混乱。奇偶校验是对数据传输正确性的一种校验方法。在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。

1.奇校验:

(1)数据位中“1”的数目是偶数的时候,校验位取“1”(即数据位后面加追1),保证发送的数据包中的“1”的数目为奇数。

(2)数据位中“1”的数目是奇数的时候,校验位取“0”(即数据位后面加追0),保证发送的数据包中的“1”的数目为奇数。

2.偶校验

(1)数据位中“1”的数目是偶数的时候,校验位取“0”(即数据位后面加追0),保证发送的数据包中的“1”的数目为偶数。

(2)数据位中“1”的数目是奇数的时候,校验位取“1”(即数据位后面加追1),保证发送的数据包中的“1”的数目为偶数。

简单口诀可以记一下:就是奇校验就是保证加上数据位之后“1”的数目为奇数,偶校验就是保证加上数据位之后“1”的数目为偶数。

举个栗子来说明一下,比如要发送的数据位为“1011011”中数据位中“1”的数目为5(奇数),

(1)如果是奇校验发送的话,校验位为“0”,追加“0”,即数据包为“10110110”

(2)如果是奇校验发送的话,校验位为“1”,追加“1”,即数据包为“10110111”

奇偶校验是有一定的漏洞,再拿奇校验举个例子,比如发送“1011011”发送方奇校验发送为“10110110”,接收方接收再进行奇校验之后是“101101100”其中“1”的数目还是奇校验,看起来是没有变化。

但是。。。。

当传输的过程中出现数据出错,比如偶数个“1”发生了错误,比如发送的奇校验数据位“10110110”,然后接收方接受到的是“10000110”再进行奇校验还是“100001100”其中“1”的数目还是奇数,所以不会察觉到数据在传输的过程中发生的错误,所以说奇偶校验还是有一定的漏洞。

对于偶校验,也是偶数的“1”发生出错的话还是会出现这种漏洞,具体读者自测。

上位机串口数据检验方式(二)——奇偶校验相关推荐

  1. STM32F407获取OV7670摄像头图像及上位机解码(一维码二维码)

    STM32F407获取OV7670摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32F407对30万像素OV7670摄像头进行图像捕获,并通过串口将数据 ...

  2. DMU——上位机串口通信

    Java上位机编程总结 一.准备工作 1.开发工具: eclipse(注意JDK环境配置:不会的百度:还有有的实验室电脑是32位系统,千万不要安装错) JavaWin32位安装包:解压后配置环境变量即 ...

  3. STM32H750获取OV5640摄像头图像及上位机解码(一维码二维码)

    STM32H750获取OV5640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对500万像素OV5640摄像头进行图像捕获,并通过串口将数 ...

  4. STM32F407获取OV2640摄像头图像及上位机解码(一维码二维码)

    STM32F407获取OV2640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32F407对200万像素OV2640摄像头进行图像捕获,并通过串口将数 ...

  5. STM32H750获取OV2640摄像头图像及上位机解码(一维码二维码)

    STM32H750获取OV2640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对200万像素OV2640摄像头进行图像捕获,并通过串口将数 ...

  6. STM32H750获取OV7670摄像头图像及上位机解码(一维码二维码)

    STM32H750获取OV7670摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对30万像素OV7670摄像头进行图像捕获,并通过串口将数据 ...

  7. 基于VS2015,MFC平台的上位机串口程序搭建详细教程(兼容debug x64、win32 、x86等解决方案平台)

    通常在32位编译环境下,我们可以通过插入MFC串口控件(MSCOMM32.OCX)的方式来实现串口通信,但是MSCOMM32.OCX不支持64位编译环境,也就是说,在x64解决方案平台下会报错.为此, ...

  8. C#上位机——串口发送

    C#上位机--串口发送 第一步:搭建框架 第二步:设置属性 第三步:编写代码,实现各个模块之间的联系和功能. using System; using System.Collections.Generi ...

  9. QT上位机串口实时温湿度显示

    STM32与上位机通信协议--UART协议: 串行通讯需要有通信协议 通信协议:规定发送与接收方,通信的方式与要求,数据的格式 由RXD和TXD两条线,由于没有时钟线,所以需要规定波特率 数据传输速率 ...

最新文章

  1. jenkins漏洞导致服务器中了挖矿病毒!cpu飙高351%!看我如何消灭它!
  2. Windows Phone 7的启动器和选择器
  3. 针对ASP.NET Core Web API的先进架构
  4. matlab 二次指数平滑法预测
  5. Redis基数统计——HyperLogLog小内存大用处
  6. Python自动化开发 - 字符编码、文件和集合
  7. shell脚本获取绝对路径
  8. java并发编程基础-ReentrantLock及LinkedBlockingQueue源码分析
  9. python练习题及答案-听说你python基础入门了?100个经典练习题送给你(附完整答案)...
  10. Python进行Excel数据处理
  11. PowerDesigner下载安装教程
  12. Windows事件ID详细
  13. 什么?TTL信号也能高速稳定传输100m+?是的,你没有听错,量产电路推荐!
  14. 【地理中国】百年地理大发现(全8集)内容笔记记录
  15. 华盛顿道格拉斯县计划建立区块链创新园区
  16. vue+websocket+nodejs创建聊天室- 创建群聊、加入群聊
  17. 安卓模拟PC浏览器发送http请求
  18. Fortify 5.1漏洞整改方案(1)
  19. ubuntu硬盘序列号怎么查询_linux查看设备和硬盘序列号 ip mac地址
  20. raid之创建磁盘列阵raid-0

热门文章

  1. 东野圭吾《解忧杂货店》读后感
  2. python分支机构_基于Python爬取天眼查网站的企业信息!Python无所不能!
  3. JS数字转大写 (会计最爱)
  4. python怎么画长方形_画一个漂亮的长方形
  5. 3.wildcard
  6. 2015年全部企业校园招聘情况+薪资水平!
  7. 面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》
  8. 文献阅读—GAIN:Missing Data Imputation using Generative Adversarial Nets
  9. 小程序 web-view 打开 微信公众号文章
  10. maximo菜单和应用程序排序