Java의 javax.comm
라이브러리는 "9 비트"직렬 통신을 지원합니까? (프레이밍 정보를위한 대역 외 신호 메커니즘으로 패리티 비트 또는 "주소 비트"사용)"9 비트"직렬 통신에 대한 API/OS 지원
win32 통신 API가 지원합니까?
나는 대답이 모두 중요하지 않다고 생각하지만 누군가 나보다이 경험이 더 많다고 생각했습니다.
Java의 javax.comm
라이브러리는 "9 비트"직렬 통신을 지원합니까? (프레이밍 정보를위한 대역 외 신호 메커니즘으로 패리티 비트 또는 "주소 비트"사용)"9 비트"직렬 통신에 대한 API/OS 지원
win32 통신 API가 지원합니까?
나는 대답이 모두 중요하지 않다고 생각하지만 누군가 나보다이 경험이 더 많다고 생각했습니다.
win32 통신 API는 내가 말할 수있는 한이를 지원하지 않습니다.
그러나 다양한 패리티 모드를 사용하여 시뮬레이션 할 수 있습니다.
MARKPARITY
을 설정하면 설정합니다 나는 도서관의 자바 버전에 대해 말할 수 없다 0
에 9 비트를 설정,하지만 난 그것을 지원하는 확신합니다 SPACEPARITY
설정 1
에 9 비트 패리티 모드를 설정하여 위의 작업을 수행하고 9 번째 비트를 얻을 수 있습니다.
다음은이 Seeking FOSS serial port component which can handle 9 data bits입니다.
당신의 주된 문제는 윈도우 API가 그것을 처리 할 수 없을 때, 어떻게 자바가 이것을 해결해야 하는가? 9 비트를 다룰 것인가?
비티가 나는 karoberts 대답에 대해 언급하고 싶습니다
(링크 참조)이 문제를 해결하기 위해 전문 카드/드라이버가 존재하지만, 나는 명성을 부족합니다. 그래서 나는 "대답"해야합니다.
karoberts 우리가 우리의 문제에 소프트웨어 솔루션을 필요로 경우 좋은 방법 제안)
(JCS 인용을, 거의, 그것은? 아니다)하지만 파이썬 오늘 직면 한 상황이 자극 할 수있다 (2.7) 똑같은 일을하려한다 : 나의 PC는 PARITY_MARK와 PARITY_SPACE를/dev/ttyS5를 설정하는 옵션으로 받아들이기를 거부했다. 그래서 내가 무엇을 할 수 있는지 스택 오버플로 검색 -이 주제에 ...
발생 그리고 나는 그 (폐쇄) question, 젭 다음 대답 우리에게 알려줍니다에서 답을 찾았습니다. Tincho은 article을 가리 킵니다.이 바이트는 주소 바이트인지, 비트의 패리티 합계인지에 따라 각 바이트에 EVEN 또는 ODD 패리티를 설정하는 것이 좋습니다. 솔루션을 확인한 결과 완벽하게 작동합니다.
전송 용입니다. 수신은 어떻게됩니까? –
(그리고 나는 바이트 단위로 그것을해야만 할 것입니다 ... 어 ... 대역 외 정보를위한 공간을 남기기 위해 base64 인코딩을 사용하는 것이 더 쉬울 것 같습니다.) –
예, 그렇지 않습니다. 꽤 당신이 모든 바이트에 대해 그것을 바꿔야 만한다면. 송수신을 위해 작동해야합니다. – karoberts