2009-12-11 46 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奇偶性:這是否是地址字節以及它的位的奇偶校驗和是多少。 我檢查瞭解決方案,它完美地工作。