java的javax.comm
库是否支持“9位”串行通信?(使用奇偶校验位或“地址位”作为用于成帧信息的带外信令机制)
win32通信应用编程接口是否支持它?
我猜这两个问题的答案都是否定的,但我想有人比我更有经验。
发布于 2009-12-12 06:29:47
据我所知,win32 comm API不支持这一点。
但是,您可以使用各种奇偶校验模式对其进行模拟。
设置MARKPARITY
会将第9位设置为1
设置SPACEPARITY
会将第9位设置为0
我不能说java版本的库,但我确定它支持设置奇偶校验模式,这样你就可以完成上面的工作并获得第9位。
发布于 2013-03-03 17:02:16
你应该遵循这个Seeking FOSS serial port component which can handle 9 data bits。
你的主要问题将是处理9位,因为当windows api不能处理它时,java该如何解决呢?
Bt有专业卡/驱动程序可以解决这个问题(参见链接)
发布于 2015-03-29 07:05:37
我想对karoberts answer发表评论,但我缺乏声誉。所以我必须“回答”。
如果我们需要一个软件解决方案来解决我们的问题,karoberts提出了一个很好的方法(JCS引用几乎是这样的,不是吗?)
但这可能会引起我今天使用Python2.7尝试做完全相同的事情时遇到的情况:我的PC拒绝接受PARITY_MARK和PARITY_SPACE作为配置我的/dev/ttyS5的选项。所以我在Stack Overflow中搜索了什么可以做-并遇到了这个主题...
我已经在那个(封闭的) question中找到了答案,jeb在下一个答案中告诉我们。Tincho指向一个article,其中建议根据两个因素为每个字节设置偶数或奇数奇偶校验:这是否是地址字节,以及它的位的奇偶校验和是多少。我检查了解决方案,它工作得很好。
https://stackoverflow.com/questions/1891175
复制相似问题