首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

串口通信设置了奇,偶校验,还要写函数来实现吗?该如何处理

2012-02-05 
串口通信设置了奇,偶校验,还要写函数来实现吗?串口通信设置了奇,偶校验,还要写函数来实现吗?例如:options.

串口通信设置了奇,偶校验,还要写函数来实现吗?
串口通信设置了奇,偶校验,还要写函数来实现吗?

 
例如:options.c_cflag |= PARENB; /* Enable parity */ 

options.c_cflag &= ~PARODD; /* 为偶效验*/ 

options.c_iflag |= INPCK; 

这样设置为奇校验,还需要写函数实现奇校验吗?
要写的话,该怎么写?

[解决办法]
串行通信的奇偶校验有硬件(串行收发器)自动完成,不需要软件进行参与,若有校验错误,也会置位相应寄存器的相应位。
[解决办法]
单片机方不用,但在PC接受方需要,不然,谁知道你有没有奇偶校验
[解决办法]
我已经说的很清楚了,这部分功能是串口收发控制器完成的,无论是单片机还是pc,奇偶校验的实现只需要设置串行参数就可以了,单片机中是寄存器设置,而pc上,比如超级终端也有可以设置的地方,设置好了就ok了。软件不需要任何操作。

只不过奇偶校验有其局限性,不能保证数据百分之百正确,如果在高可靠性要求的情况下,可以采用其他校验方式,如校验和,crc校验等。

热点排行