一、 检验位
在串行通讯所发送数据的最后一位,用来粗略的检验数据在传输过程中是否有出错。
二、检验位的五种类型
1. N(None [没有])
【无校验】 不加校验位,可以少传输一位数据
2. O(Odd [单、奇、奇怪])
【奇校验】 两种理解方式
a. 要传输的数据中(不包含校验位)有奇数个‘1’那么校验位为‘0’, 反之为‘1’
例: 数据‘1111 000’ 偶数个‘1’ 所以添加校验位为‘1’ 整体为‘1111 0000 1’
b. 所有位数中(数据+包含校验位)有奇数个‘1’
例:数据‘1111 0000’ 已有的‘1’为偶数个,为了确保所有位数中‘1’的个数为奇数,就要让校验位为‘1’ 整体为 ‘1111 0000 1’
例:数据‘1110 0000’ 已经有奇数个‘1’ 所以校验位为‘0’ 整体为‘1110 0000 0’
3. E (Even 偶、双、平均)
【偶校验】 两种理解方式
a. 要传输的数据中(不包含校验位)有偶数个‘1’那么校验位为‘0’, 反之为‘1’
例: 数据‘1111 000’ 偶数个‘1’ 所以添加校验位为‘0’ 整体为‘1111 0000 0’
b. 所有位数中(数据+包含校验位)有偶数个‘1’
例:数据‘1111 0000’ 已经有偶数个‘1’ 所以校验位为‘0’ 整体为‘1111 0000 0’
例:数据‘1110 0000’ 已有的‘1’为奇数个,为了确保所有位数中‘1’的个数为偶数,就要让校验位为‘1’ 整体为 ‘1110 0000 1’
4. M(Mark 标记、符合)
【固定1】检验位固定为1
5. S(Space 空间、空地)
【固定0】校验位固定为0