我知道使用奇偶校验位9-bit
可以进行串行通信。Linux
并且一些 Linux 版本提供MARK/SPACE parity mode
,所以我可以很容易地设置奇偶校验位。
但据我所知,这MARK/SPACE parity mode
不是 Linux 标准,所以 Linux 可能不支持这种模式。
如何检查我使用的 Linux 是否支持该模式?
我必须编写一些代码并进行测试吗?
我想知道没有这些额外的工作。
通过检查配置信息或内核源代码有什么办法吗?
而且,如果Linux不支持MARK/SPACE parity mode
,有什么办法让它支持吗?
实际上,在 中ubuntu12.04
,它是受支持的,但是当我尝试使用 时ubuntu14.04
,它似乎在我测试时不支持。(在ubuntu14.02
使用lxde
in的情况下embedded
)
==================编辑=====================
MARK/SPACE parity
termios
这里的位意味着我是否可以使用带有标志的 9 位CMSPAR
。
以及如何检查此标志是否可用于 9 位通信。如果没有,任何激活此功能的方法。
否则我必须检查我发送的每个字节的奇偶校验,然后将奇偶校验模式更改为使用 9 位。
但是,如果我可以使用 CMSPAR 标志,我只需PARODD
将奇偶校验位设置为CMSPAR
,而不管我发送的数据如何。
并且公司说硬件支持9bit。
这是关于 的描述MARK/SPACE parity
。