java的javax.comm
库是否支持“9位”串行通信? (使用奇偶校验位或“地址位”作为帧信息的带外信令机制)“9位”串行通信API/OS支持
win32通信API是否支持它?
我猜这个答案在两方面都没有,但认为有人比我有更多的经验。
java的javax.comm
库是否支持“9位”串行通信? (使用奇偶校验位或“地址位”作为帧信息的带外信令机制)“9位”串行通信API/OS支持
win32通信API是否支持它?
我猜这个答案在两方面都没有,但认为有人比我有更多的经验。
就我所知,win32通信API不支持此功能。
但是,您可以使用各种奇偶校验模式进行模拟。
设置MARKPARITY
将设置第9位到1
设置SPACEPARITY
将在第9位设置为0
我不能说图书馆的Java版本,但我敢肯定它支持设置奇偶校验模式,以便您可以执行上述操作并获得第9位。
Yout应该遵循此Seeking FOSS serial port component which can handle 9 data bits。
你的主要问题将是处理9位,因为当Windows API无法处理它,Java应该如何解决这个问题?
转Bt基因存在专业显卡/驱动程序来解决这个(见链接)
我想对karoberts答案发表评论,但我缺乏信誉。所以我必须“回答”。
karoberts提出如果我们需要一个软件解决方案,我们的问题的好办法(JCS引用,差不多了,是不是?))
但有可能会引起我今天面对的Python的情况(2.7)试图做同样的事情:我的电脑拒绝接受PARITY_MARK和PARITY_SPACE作为配置我的/ dev/ttyS5的选项。所以,我在搜索堆栈溢出可以做些什么 - 和遇到的这个话题......
而且我发现了,他说(关闭)question,杰布告诉我们在未来的答案。 Tincho指向article,其中建议根据2个因素设置每个字节的EVEN或ODD奇偶性:这是否是地址字节以及它的位的奇偶校验和是多少。 我检查了解决方案,它完美地工作。
这是发送 - 怎么样接收? – 2009-12-11 23:35:44
(我不得不这样做,每个字节的基础上...呃...看起来会更容易,只是使用base64编码留出带外信息的空间。) – 2009-12-11 23:36:50
是的,它不是如果你不得不为每个字节改变它,那就相当不错。它应该用于发送和接收 – karoberts 2009-12-12 03:30:54