2010-04-07 6 views
0

나는 객체의 속도를 확인하기 위해 사용하는 오래된 RM-1501 digital tachometer을 가지고 있습니다.RM-1501 RS232 인터페이스의 예상 출력은 무엇입니까?

the manual에 따르면 직렬 링크를 통해 데이터를 읽을 수 있어야합니다. 불행히도, 나는 장치에서 합리적인 출력을 얻을 수있는 것 같지 않습니다 (결코 유효한 속도를 제공하지 않음). CTS 라인의 연결을 끊으면 몇 가지 데이터를 얻을 수 있기 때문에 신호 문제 일 수 있다고 생각합니다.

누구도 이들 중 하나에 대해 아무 것도 개발하지 않았습니까/성공 했습니까?

+0

분명히 직렬 소켓을 설정했습니다. 올바른 포트 설정, 전송 속도, 정지 비트 등이 있습니까? – ChrisBD

+0

이것은 하드웨어 문제처럼 보입니다. 따라서이 질문이 끝나기를 기대하십시오. 그러나 사용하고있는 코드의 세부 사항을 포함시켜야하는 것은 아닙니다. C++에 태그를 붙이고 있지만 C++이나 소프트웨어 관련 정보는 포함하지 않아 폐쇄가 더욱 빨라질 수 있습니다. 직렬 포트와 인터페이스 할 수있는 방법은 여러 가지가 있으며, 대부분 OS 고유 또는 타사 API를 사용합니다. 그 정보가 유용 할 수 있습니다. – Clifford

+0

저는 결론을 빨리 내리고 있습니다 (하드웨어 구성입니다). 아마도 닫는 것이 가장 좋습니다. –

답변

0

하드웨어 컨트롤 (사용 가능 및 사용 불가능)의 모든 조합을 생각해 볼 수 있으므로 하드웨어 문제 여야합니다. PC와 장치 사이의 CLS 링크를 제거하여 문제를 해결하십시오.

1

설명서에 흐름 제어가 사용되는 것으로 지정되어 있지 않습니다. 하드웨어/소프트웨어 흐름 제어가 비활성화 된 상태로 포트를 엽니 다.

설명서에 DTE <-> DCE 또는 Null 모뎀과 같은 연결이 지정되어 있지 않습니다. 장치와 함께 제공된 케이블을 사용하고 있습니까?

0

실제로 속도를 나타 내기 위해 데이터를 보내고 있습니까, 아니면 핀 중 하나에 확인/중단을 제공하고 있습니까?

1

이 정보가 아직 완전하게 사용되는지는 알 수 없습니다. 하지만 난 동등한 노력과 데이터를 가지고. 문서의 프로토콜이 올바르지 않습니다 (적어도 현재 사용중인 버전의 경우) 5 문자 디스플레이 (9999)이므로 4 바이트가 항상 0이어야하는 필수 정보를 얻기 위해 3 바이트 만 필요합니다. 따라서, 0x0D를 시작으로하고 6 바이트를 따르는 것은 전체 패킷 즉, 0xD0 B1 B2 B3 D1 D2 D3을 만든다. B1, B2 및 B3 바이트에는 제수, 상태, 단위, 함수 및 오류 플래그가 포함됩니다. 여기서 마지막 3 바이트 (D1, D2, D3)는 데이터이며, D1은 LSB이고 D3은 MSB입니다. 또한 제조사가 사용자 설명서를 변경하지 않고 펌웨어를 변경했을 수도 있다는 것을 덧붙이고 싶습니다. :). 그래서 내 버전의 프로토콜은 다른 사람들에게는 틀림없이 틀릴 수도 있습니다.