上位机串口数据检验方式(二)——奇偶校验
奇偶校验这个概念在逻辑设计里面经常会用到,但有的人对奇偶校验的理解很混乱。奇偶校验是对数据传输正确性的一种校验方法。在数据传输前附加一位奇校验位,用来表示传输的数据中"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”发生出错的话还是会出现这种漏洞,具体读者自测。
上位机串口数据检验方式(二)——奇偶校验相关推荐
- STM32F407获取OV7670摄像头图像及上位机解码(一维码二维码)
STM32F407获取OV7670摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32F407对30万像素OV7670摄像头进行图像捕获,并通过串口将数据 ...
- DMU——上位机串口通信
Java上位机编程总结 一.准备工作 1.开发工具: eclipse(注意JDK环境配置:不会的百度:还有有的实验室电脑是32位系统,千万不要安装错) JavaWin32位安装包:解压后配置环境变量即 ...
- STM32H750获取OV5640摄像头图像及上位机解码(一维码二维码)
STM32H750获取OV5640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对500万像素OV5640摄像头进行图像捕获,并通过串口将数 ...
- STM32F407获取OV2640摄像头图像及上位机解码(一维码二维码)
STM32F407获取OV2640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32F407对200万像素OV2640摄像头进行图像捕获,并通过串口将数 ...
- STM32H750获取OV2640摄像头图像及上位机解码(一维码二维码)
STM32H750获取OV2640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对200万像素OV2640摄像头进行图像捕获,并通过串口将数 ...
- STM32H750获取OV7670摄像头图像及上位机解码(一维码二维码)
STM32H750获取OV7670摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对30万像素OV7670摄像头进行图像捕获,并通过串口将数据 ...
- 基于VS2015,MFC平台的上位机串口程序搭建详细教程(兼容debug x64、win32 、x86等解决方案平台)
通常在32位编译环境下,我们可以通过插入MFC串口控件(MSCOMM32.OCX)的方式来实现串口通信,但是MSCOMM32.OCX不支持64位编译环境,也就是说,在x64解决方案平台下会报错.为此, ...
- C#上位机——串口发送
C#上位机--串口发送 第一步:搭建框架 第二步:设置属性 第三步:编写代码,实现各个模块之间的联系和功能. using System; using System.Collections.Generi ...
- QT上位机串口实时温湿度显示
STM32与上位机通信协议--UART协议: 串行通讯需要有通信协议 通信协议:规定发送与接收方,通信的方式与要求,数据的格式 由RXD和TXD两条线,由于没有时钟线,所以需要规定波特率 数据传输速率 ...
最新文章
- jenkins漏洞导致服务器中了挖矿病毒!cpu飙高351%!看我如何消灭它!
- Windows Phone 7的启动器和选择器
- 针对ASP.NET Core Web API的先进架构
- matlab 二次指数平滑法预测
- Redis基数统计——HyperLogLog小内存大用处
- Python自动化开发 - 字符编码、文件和集合
- shell脚本获取绝对路径
- java并发编程基础-ReentrantLock及LinkedBlockingQueue源码分析
- python练习题及答案-听说你python基础入门了?100个经典练习题送给你(附完整答案)...
- Python进行Excel数据处理
- PowerDesigner下载安装教程
- Windows事件ID详细
- 什么?TTL信号也能高速稳定传输100m+?是的,你没有听错,量产电路推荐!
- 【地理中国】百年地理大发现(全8集)内容笔记记录
- 华盛顿道格拉斯县计划建立区块链创新园区
- vue+websocket+nodejs创建聊天室- 创建群聊、加入群聊
- 安卓模拟PC浏览器发送http请求
- Fortify 5.1漏洞整改方案(1)
- ubuntu硬盘序列号怎么查询_linux查看设备和硬盘序列号 ip mac地址
- raid之创建磁盘列阵raid-0
热门文章
- 东野圭吾《解忧杂货店》读后感
- python分支机构_基于Python爬取天眼查网站的企业信息!Python无所不能!
- JS数字转大写 (会计最爱)
- python怎么画长方形_画一个漂亮的长方形
- 3.wildcard
- 2015年全部企业校园招聘情况+薪资水平!
- 面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》
- 文献阅读—GAIN:Missing Data Imputation using Generative Adversarial Nets
- 小程序 web-view 打开 微信公众号文章
- maximo菜单和应用程序排序