当前位置: 技术问答>linux和unix
linux下串口开发有没有Mark、space校验,对应的数值是几?
来源: 互联网 发布时间:2017-03-18
本文导语: rt,要在多机通讯中用 | 1. even 每个字节传送整个过程中bit为1的个数是偶数个(校验位调整个数) 2. odd 每个字节穿送整个过程中bit为1的个数是奇数个(校验位调整个数) 3. noparity没有校...
rt,要在多机通讯中用
|
1. even 每个字节传送整个过程中bit为1的个数是偶数个(校验位调整个数)
2. odd 每个字节穿送整个过程中bit为1的个数是奇数个(校验位调整个数)
3. noparity没有校验位
4. space 校验位总为0
5. mark 校验位总为1;
参考了一下串口的硬件驱动程序:
Stick even parity parity enable parity
- - 0 无校验
0 0 1 奇校验
0 1 1 偶校验
1 0 1 Mark
1 1 1 space
得到如下的校验设置方式:
#define CMSPAR 010000000000
本句使能了stick parity的校验可行性
Mark校验
options.c_cflag |= PARENB | CS8 | CMSPAR |PARODD;
Space校验
options.c_cflag |= PARENB | CS8 | CMSPAR;
2. odd 每个字节穿送整个过程中bit为1的个数是奇数个(校验位调整个数)
3. noparity没有校验位
4. space 校验位总为0
5. mark 校验位总为1;
参考了一下串口的硬件驱动程序:
Stick even parity parity enable parity
- - 0 无校验
0 0 1 奇校验
0 1 1 偶校验
1 0 1 Mark
1 1 1 space
得到如下的校验设置方式:
#define CMSPAR 010000000000
本句使能了stick parity的校验可行性
Mark校验
options.c_cflag |= PARENB | CS8 | CMSPAR |PARODD;
Space校验
options.c_cflag |= PARENB | CS8 | CMSPAR;