2009-12-11 63 views
0

java的javax.comm库是否支持“9位”串行通信? (使用奇偶校验位或“地址位”作为帧信息的带外信令机制)“9位”串行通信API/OS支持

win32通信API是否支持它?

我猜这个答案在两方面都没有,但认为有人比我有更多的经验。

回答

1

就我所知,win32通信API不支持此功能。

但是,您可以使用各种奇偶校验模式进行模拟。

设置MARKPARITY将设置第9位到1

设置SPACEPARITY将在第9位设置为0

我不能说图书馆的Java版本,但我敢肯定它支持设置奇偶校验模式,以便您可以执行上述操作并获得第9位。

+0

这是发送 - 怎么样接收? – 2009-12-11 23:35:44

+0

(我不得不这样做,每个字节的基础上...呃...看起来会更容易,只是使用base64编码留出带外信息的空间。) – 2009-12-11 23:36:50

+0

是的,它不是如果你不得不为每个字节改变它,那就相当不错。它应该用于发送和接收 – karoberts 2009-12-12 03:30:54

0

我想对karoberts答案发表评论,但我缺乏信誉。所以我必须“回答”。

karoberts提出如果我们需要一个软件解决方案,我们的问题的好办法(JCS引用,差不多了,是不是?))

但有可能会引起我今天面对的Python的情况(2.7)试图做同样的事情:我的电脑拒绝接受PARITY_MARK和PARITY_SPACE作为配置我的/ dev/ttyS5的选项。所以,我在搜索堆栈溢出可以做些什么 - 和遇到的这个话题......

而且我发现了,他说(关闭)question杰布告诉我们在未来的答案。 Tincho指向article,其中建议根据2个因素设置每个字节的EVEN或ODD奇偶性:这是否是地址字节以及它的位的奇偶校验和是多少。 我检查了解决方案,它完美地工作。