vivado学习第二 串口通信之奇偶校验位

vivado学习第二 串口通信之奇偶校验位

  1. 奇偶校验位
     奇偶校验位分为奇数校验位和偶数校验位,奇数和偶数的判断标准是依据发送一串或者一帧数据中“1”的个数。
     奇数校验:发送的数据位+奇数校验位中“1”的个数为奇数个,也就是说如果数据位的“1”的个数为奇数个,则奇数校验位为数字0;如果数据位的“1”的个数为偶数个,则奇数校验位为数字1。
     偶数校验:发送的数据位+偶数校验位中“1”的个数为偶数个,也就是说如果数据位的“1”的个数为奇数个,则奇数校验位为数字1;如果数据位的“1”的个数为偶数个,则奇数校验位为数字0。
     uart串口通信中奇偶校验实现的方法:
    通过“0”依次与8bit数据进行异或操作可以实现偶校验。通过“1”依次与8bit数据进行异或操作可以实现奇校验。具体实现如下:
    例如有两组数据01100100和 01101100这两组数据。
     偶数校验:对01100100进行偶校验,从左边第一位开始和“0”进行异或运算得到结果a1=0,a1跟第二位进行异或得到结果a2=1,a2跟第三位进行异或得到结果a3=0,依次类推到a7=1与第八位进行异或得到结果为偶数校验位a8为1([a1:a8]=0100011_1)。同理对01101100进行偶校验[a1:a8]=010000_0.
     奇数校验:对01100100进行奇校验,从左边第一位开始和“1”进行异或运算得到结果b1=1,a1跟第二位进行异或得到结果b2=0,b2跟第三位进行异或得到结果b3=1,依次类推到a7=0与第八位进行异或得到结果为偶数校验位a8为0([a1:a8]=1011100_0)。同理对01101100进行偶校验[a1:a8]=1011111_1.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值