串行通信中,奇偶校验是什么意思93 如何对字符进行奇校验
串行通信中,奇偶校验是什么意思93
奇偶校验是在传送字符的各位之外,再传送1位奇/偶校验位。
奇校验就是所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数。偶校验就是“1”的个数为偶数啦。接收时看1的个数是否符合设定的校验,可以判断是否有误码。
奇偶校验只能检错,不能纠错的。而且只能检测1位误码,检测出有错后只能要求重发,没法纠正的。
你是哪门课中要用到?我回想起了大三时计算机通信实验课上,我们小组用的就是奇偶校验。ojp希望采纳我的
如何对字符进行奇校验
奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中"1"的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中"1"的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验"1"的个数是否为奇数,从而确定传输代码的正确性。
奇偶校验需要一位校验位,即使用串口通信的方式2或方式3(8位数据位 1位校验位)。奇校验(odd parity):让传输的数据(包含校验位)中1的个数为奇数。即:如果传输字节中1的个数是偶数,则校验位为“1”,奇数相反。以发送字符:10101010为例
偶校验(even parity):让传输的数据(包含校验位)中1的个数为偶数。即:如果传输字节中1的个数是偶数,则校验位为“0”,奇数相反。还是以发送字符:10101010为例
数据和校验位发送给接受方后,接收方再次对数据中1的个数进行计算,如果为奇数则校验通过,表示此次传输过程未发生错误。如果不是奇数,则表示有错误发生,此时接收方可以向发送方发送请求,要求重新发送一遍数据。
优缺点:
奇偶校验的检错率只有50%,因为只有奇数个数据位发生变化能检测到,如果偶数个数据位发生变化则无能为力了╮(╯﹏╰)╭
奇偶校验每传输一个字节都需要加一位校验位,对传输效率影响很大。
奇偶校验只能发现错误,但不能纠正错误,也就是说它只能告诉你出错了,但不能告诉你怎么出错了,一旦发现错误,只好重发。
虽然奇偶校验有很多缺点,但因为其使用起来十分简单,故目前仍被广泛使用。
应用:
如何用编程确定一个字节中“1”个数的奇偶性?我们可以利用二进制数相加的特点:
0 0=0、1 0=1、1 1=0
可以看出,如果我们将一个字节的所有位相加
有奇数个“1”的字节的和为1
有偶数个“1”的字节的和为0
由此即可通过编程完成判断。实际应用中,实现方法很多,但这是相对简单的一种,这里不再赘述。
Linux c串口编程中什么是奇偶效验?
奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
rs232串口通信原理
串口的电气特性:
1)RS-232串口通信最远距离是50英尺=15m
2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps
3)RS-232C上传送的数字量采用负逻辑,且与地对称
逻辑1:-3 ~-15V
逻辑0: 3~ 15V
所以与单片机连接时常常需要加入电平转换芯片:
串口通信参数:
a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。
b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。
c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。