Java의 직렬 포트와 통신하기 위해 this library을 사용하고 있습니다. 또한 USB를 직렬 변환기를 사용하여 장치에 연결하고 있습니다. 여기 장치에 관련되는 문서이다RS232 시리얼 포트 통신 설정
2.1 물리적 인터페이스 호스트 사이에 필요한 물리적 인터페이스와 VGM는 EIA-232 인터페이스이다.
2.2 논리적 인터페이스를 직렬 데이터 링크 하나 시작 비트, 8 개의 데이터 비트, 웨이크 - 업 비트와 정지 비트와, 제 (BPS) 당 19,200 비트의 속도로 작동한다. 웨이크 업 비트는 메시지의 첫 번째 바이트 인 에 설정해야합니다. 웨이크 업 비트는 메시지의 나머지 부분에 대해 지워 져야합니다. VGM은 호스트에 응답 할 때 웨이크 업 비트를 지워야한다.
직렬 포트에 연결할 때 rs232 라이브러리 설정을 설정하는 방법에 약간의 혼란이 있습니다. 전송 설정, 비트 (5, 6, 7, 8)의 데이터 길이, 정지 비트 (1, 2) 및 패리티 설정이 있습니다. 이러한 설정을 엉망으로 만들 때 물론 나는 다른 출력을 얻습니다 (대부분 휴지통처럼 보입니다). 인용 된 문서와 관련하여 설정을 추측하도록 도와 줄 수 있습니까?
해당 사양에서, 쉬운 해결책은 웨이크 업 비트를 수용하기 위해 9 비트 데이터 프레임을 사용할 수있는 USART를 사용하는 것입니다. 다음은 [9 비트 직렬 포트 쇼핑 조언] (http://superuser.com/questions/411386/seeking-9-bit-serial-port-card-for-windows-pc/411438#411438)입니다. 그렇지 않으면 8 비트 + 패리티의 데이터 길이를 사용해야하며 첫 번째 바이트를 표시하고 남은 바이트의 공간을 다시 구성하도록 패리티를 구성해야합니다. 패리티 비트 (8 비트 데이터 포함)는 웨이크 업 비트와 동일한 비트 위치를 프레임에서 차지합니다. – sawdust
@ 톱밥 흠, 나는 설정과 8 비트 데이터, 19.2kbit boud, 1 스톱 비트 및 패리티로 설정되어 있어도 내가 뭔가를 얻고 있다고 생각합니다. 예를 들어,이 설정으로 Java에서 바이트 배열을로드 할 때 각 새 바이트를 상위 4 개 및 하위 4 개 비트를 사용하여 각 바이트를 2 바이트로 분할하면 문서에서 의도 한대로 적절한 메시지가 생성됩니다. 나는 월요일에 조금 더 놀아야한다. 당신에게 그럴듯한가? –
아니요. 각 바이트를 니블로 분할하는 것은 잘못되어 불필요합니다.패리티 비트 재구성을 시도하는 데 문제가있을 수 있습니다. – sawdust