linux下串口开发有没有Mark、space校验,对应的数值是几?
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;