精华内容
下载资源
问答
  • 校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。(字符‘A’的二进制 0100 0001) 当为奇数校验:”A”字符的8个bit位...

    先介绍一些概念。

    起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。

    校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。 (字符‘A’的二进制是 0100 0001)

    当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。
    当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。 
    此位还可以去除,即不需要奇偶校验位。 
    停止位:它是一帧数据的结束标志。可以是1bit、1.5bit、2bit的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。所以我在生产此uart信号时用两个波形点来表示一个bit。这个可以不必深究。。。 


    空闲位:没有数据传输时线路上的电平状态。为逻辑1。 
    传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”(字符‘A’的二进制是 0100 0001)

    如果是MSB那么就是0100 0001(如图-2),如果是LSB那么就是10000010


    uart传输数据的顺序就是:刚开始传输一个起始位——传输数据位——校验位(可不需要此位)——停止位。

    这样一帧的数据就传输完了。接下来接着像这样一直传送。在这里还要说一个参数。 
    帧间隔:即传送数据的帧与帧之间的间隔大小,可以以位为计量也可以用时间(知道波特率那么位数和时间可以换算)。比如传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的间隔即为帧间

    实验:

    用串口工具发送0XD6,即二级制 1101 0110 ,在示波器上如此显示。

    串口设置:波特率9600,停止位1位,无奇偶校验位。

    在示波器上,最左边一个低电平表示0,起始位;然后依次是0110 1011,正好和发送的数据最高位和最低位反过来。如下图。

    这就是所谓的LSB.

    ________传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输

    再来个例子:用串口发送0x75,就是二进制 0111 0101,如下图所示。

    串口设置:波特率9600,停止位1位,无奇偶校验位。

    同理,最左侧的为起始位,低电平0, 然后LSB传输。 1010 1110依次传输到示波器。

    第三个例子:用串口发送0x75,就是二进制 0111 0101,

    串口设置:波特率9600,停止位1位,奇校验。

    奇校验就是要保证这一帧里的所有BIT 有1的数为奇数,0x75已经有5个1了,所以奇偶校验位为0即可。如下图所示。

     

    同理,如果为偶校验,那么最后一位应该是高电平1,就会有6个1,以此保证所有的1的数量为偶数。

     

    最后,连发发送两个16进制数据0x75(0111 0101) 0x6B (0110 1011)

    串口设置:波特率9600,停止位1位,无奇偶校验位。

     
    ————————————————
     

    展开全文
  • 什么有校验码的存在? 计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变成0),由于计算机的储存通过二进制代码... 如果奇校验加上校验位后,编码中1的个数为奇数...

    为什么有校验码的存在?
    计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变成0),由于计算机的储存是通过二进制代码来实现的的,误码会导致储存的内容发生改变。为确保数据在传送过程正确无误,常使用检验码。

    一、奇偶校验码

    奇偶校验码是奇校验码和偶校验码的统称. 它们都是通过在要校验的编码上加一位校验位组成。

    如果是奇校验加上校验位后,编码中1的个数为奇数个。如果是偶校验加上校验位后,编码中1的个数为偶数个。

    校验方法

    奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
    1000110(0)你必须添0。原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。

    偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
    1000110(1)你必须加1。原来有3个1要想1的个数为偶数就只能再添加1。

    二、循环冗余校验码
    用到了模2除
    按照模2减求部分余数
    (模2加减规则:
    0+1=1;0-1-1;0+0=0;0-0=1;1+0=1;1-0=1;1+1-0;1-1=0)
    每求一位商应使部分余数减少一位。上商的原则是:当部分余数的首位是1时,上商1;当部分余数的首位为0时,上商0。当部分余数的位数小于除数的位数时,该余数即为最后余数。
    例题:这里写图片描述

    这里写图片描述

    展开全文
  • 校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。(字符‘A’的二进制 0100 0001) 当为奇数校验:”A”字符的8个bit位...

    先介绍一些概念。

    起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。

    校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。 (字符‘A’的二进制是 0100 0001)

    1. 当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。
    2. 当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。 

    此位还可以去除,即不需要奇偶校验位。 
    停止位:它是一帧数据的结束标志。可以是1bit、1.5bit、2bit的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。所以我在生产此uart信号时用两个波形点来表示一个bit。这个可以不必深究。。。 


    空闲位:没有数据传输时线路上的电平状态。为逻辑1。 
    传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”(字符‘A’的二进制是 0100 0001)

    如果是MSB那么就是0100 0001(如图-2),如果是LSB那么就是10000010


    uart传输数据的顺序就是:刚开始传输一个起始位——传输数据位——校验位(可不需要此位)——停止位。

    这样一帧的数据就传输完了。接下来接着像这样一直传送。在这里还要说一个参数。 
    帧间隔:即传送数据的帧与帧之间的间隔大小,可以以位为计量也可以用时间(知道波特率那么位数和时间可以换算)。比如传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的间隔即为帧间

    实验:

    用串口工具发送0XD6,即二级制 1101 0110 ,在示波器上如此显示。

    串口设置:波特率9600,停止位1位,无奇偶校验位。

    在示波器上,最左边一个低电平表示0,起始位;然后依次是0110 1011,正好和发送的数据最高位和最低位反过来。如下图。

    这就是所谓的LSB.

    ________传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输


     

    再来个例子:用串口发送0x75,就是二进制 0111 0101,如下图所示。

    串口设置:波特率9600,停止位1位,无奇偶校验位。

    同理,最左侧的为起始位,低电平0, 然后LSB传输。 1010 1110依次传输到示波器。

    第三个例子:用串口发送0x75,就是二进制 0111 0101,

    串口设置:波特率9600,停止位1位,奇校验

    奇校验就是要保证这一帧里的所有BIT 有1的数为奇数,0x75已经有5个1了,所以奇偶校验位为0即可。如下图所示。

     

     

    同理,如果为偶校验,那么最后一位应该是高电平1,就会有6个1,以此保证所有的1的数量为偶数。

     

    最后,连发发送两个16进制数据0x75(0111 0101) 0x6B (0110 1011)

    串口设置:波特率9600,停止位1位,无奇偶校验位。

     

    展开全文
  • 奇偶校验位

    千次阅读 2020-11-01 08:48:58
    在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0...
       

    什么是奇偶校验

           对数据传输正确性的一种校验方法。在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5个"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误。奇偶校验就是接收方用来验证发送方在传输过程中所传数据是否由于某些原因造成破坏。

    具体方法如下:
    奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
    1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。
    偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
    1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。

           大家一定会问,如何计算奇偶性呢,在计算机内有一种特殊的运算它遵守下面的规则:
    1+1=0; 1+0=1; 0+1=1; 0+0=0;我们把传送过来的1100111000逐位相加就会得到一个1,应该注意的的,如果在传送中1100111000变成为0000111000,通过上面的运算也将得到1,接收方就会认为传送的数据是正确的,这个判断正确与否的过程称为校验。而使用上面方法进行的校验称为奇校验,奇校验只能判断传送数据中奇数个数据从0变为1或从1变为0的情况,对于传送中偶数个数据发生错误,它就无能为力了。
    Odd Parity(奇校验),校核数据完整性的一种方法,一个字节的8个数据位与校验位(parity bit )加起来之和有奇数个1。校验线路在收到数后,通过发生器在校验位填上0或1,以保证和是奇数个1。因此,校验位是0时,数据位中应该有奇数个1;而校验位是1时,数据位应该有偶数个1。如果读取数据时发现与此规则不符,CPU会下令重新传输数据。
    奇/偶校验(ECC)是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种。 如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是奇数,表示传送正确,否则表示传送错误。 同理偶校验的过程和奇校验的过程一样,只是检测数据中“1”的个数为偶数。

    转载:什么是奇偶校验

    展开全文
  • 什么是奇偶校验

    万次阅读 多人点赞 2017-06-23 17:03:44
    说明:采用何种校验必须事先规定好的,通常传输的数据会专门设置一个奇偶校验位,用它来确保发送出去的二进制数据中“1”的个数为奇数或偶数。 如:发送一组8位二进制数,假定第一位为奇偶校验位,后七位为数据位,...
  • 当我用linux上的串口调试软件与公司的该设备通信时,串口调试软件设置为无校验时可以正常通信,这什么呢?百思不得其解,按道理应该只有一种校验能够通过,为什么在windows下除了无校验竟然都可以通过,而且为...
  • 什么是CRC校验

    2017-06-26 11:11:32
    CRC:circlicredundancy check,循环冗余校验 作用:检测数据传输正确与否,并能找到数据传输过程中哪个数据产生错误。 工作原理:见本人转载的两篇有关CRC的文章即可,基本够用。 ...
  • 参考文章:海明码之编码原理和校验方法
  • Modbus CRC校验是什么?

    2020-07-06 15:34:18
    ModBus 通信协议的CRC ( 冗余循环校验码)含2个字节, 即 16 二进制数。CRC码由发送设备计算, 放置于所发送信息帧的尾部。接收设备再重新计算所接收信息的CRC, 比较计算得到的CRC是否与接收到的CRC相符, 如果两者不...
  • js生成条形码,并附有校验位

    千次阅读 2018-08-07 16:44:56
    1.条形码里最后一验证码是什么作用 校验码不是条码特有的,凡是需要机读的代码几乎都离不开校验码,如银行账号,身份证号,快递单号,商品编码等等。校验码的作用是保证机读时读取代码的正确性,用读到的校验码与...
  • CC1101 CRC校验位

    千次阅读 2015-09-15 08:54:16
    不管CC1101,CC110L,CC1100E还是CC430,这些射频芯片中都有CRC校验的功能,校验过程由硬件自己完成的,我们根本看不到,我们只能看到一个CRC_OK状态标志,置1表示CRC校验成功,表示数据没有错误。 为什么...
  • 身份证校验位规则也不是什么保密的事情,网上很多其他语言的校验位计算,sql的比较少,这里写一个oracle的sql语句,输入证件号的前17位,可算出最后一位。 主要技术connect by level,这种方法也适合其他类型的...
  • #问题 设海明码的校验位数为,数据位数为,它们需满足一个位数公式 最初看到公式时我感到很疑惑啊,百思不得其解,...为什么选择七呢?因为它们的序号刚好可以用三二进制来表示。 我们再来看看海明码的纠错
  • EAN码是什么 EAN码是国际物品编码协会制定的一种商品用条码,通用于全世界。EAN码符号有标准版(EAN-13)和缩短版(EAN-8)两种。标准版表示13数字,又称为EAN13码,缩短版表示8数字,又称EAN8。两种条码的最后...
  • SIM卡的ICCID校验位的计算方法,应该不是什么隐私或者机密吧,最近关于这个有点小发现,故写出来与大家分享一下。ICCID简介ICCID (Integerate Circuit Card Identity),集成电路卡识别码,SIM卡的唯一识别号码。...
  • 大部分农商银行/农村信用社的存折账号有18位存折账号的也有22位账号的,不同省份的农信社账号位数不同,账号校验位是最后两位,测试了一些没测出用什么数进行加权的,用什么模算法计算的。 提供以下农信社(农商行...
  • 编码 位号 1 p1 1 1 p2 2 1 a10 3 0 p4 4 0 a9 5 0 a8 6 1 a7 7 1 p8 8 1 a6 9 1 a5 10 0 a4 11 ...校验位是p1,p2,p4,p8 =1101 a0-a10被校验 a0是第15位,被p1p2p4p8校验 (1+2+4+8=1
  • 信用卡校验位算法THE LUHN MOD-10

    千次阅读 2013-06-04 17:02:58
    什么要说的,只是做个备份~ -----------------------------...按照ISO 2894 中支付卡校验位的算法 The Luhn Mod-10 Method 规定: 1、对卡号上的每位数字乘以权重。其规则,如果卡号数字个数偶数,则第一位乘
  • 正dao向校验高位在左,反向校验低位在左,比如正向CRC校验的数据为0xAF5D=1010 1111 0101 1101B与0x8005异或时应该0xAF5D^0x8005,而要使用0xA001与数据进行校验也应该使0xAF5D高低换顺序为0xBAF5=1011 1010 ...
  • 基于Java的32CRC校验分享 经验分享:Java32位校验,String转...你需要把这坨字符串丢到某各地方,某个地方再回你一坨你想要的东西 (不用说你们也知道是什么了吧------当然是校验结果) 好的说到这里,上代码!!!
  • STM 32 标准CRC,可以直接用的驱动文件,所有CRC的计算都按照数据的高位在先的原则进行,上述这份资料(11节)中说因为UART先发送字节的最低, 因此设计UART的工程师按照传输线上数据的顺序,设计了CRC的计算...
  • 因为有人的身份证最后一位是"X" 实际上,除了最后一位的X,不会出现其它字母! 身份证号码18位 = 17位 + 校验校验码的计算过程: 例如:身份证前17位 = ABCDEFGHIJKLMNOPQ A~Q 每位数字乘以权值求和(每位...
  • 奇偶校验

    2018-02-05 21:39:00
    首先说一下什么是奇偶校验: 它一种校验代码传输正确性的方法。 按照被传输的一组二进制代码数中“1”的个数为奇数或者偶数来进行校验。 CPU读取存储的数据时,会把前八位存储的数据相加,看计算结果是否与...
  • CRC校验

    2017-06-11 00:14:41
     在MAC帧格式中最后有4个字节CRC校验,究竟什么是CRC校验?  CRC即循环冗余校验码:数据通信领域中最常用的一种差错校验码,其特征信息字段和校验字段的长度可以任意选定。 二、如何校验?  CRC检验...
  • 遗留问题无法解决: ...若哪大佬能帮忙解决,可私信我,酬谢。 一、获取使用哪种浏览器的js方法: function getBrowserInfo(){ var ua = navigator.userAgent.toLocaleLowerCase(); var b...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 663
精华内容 265
关键字:

校验位是什么