2012-05-04 4 views

답변

11

"연결됨"이 의미하는 바에 달려 있습니다. 가장 정확하지는 않지만 가장 단순한 의미를 우선적으로 다룰 것입니다. 당신이 포트 자체가 시스템의 존재 여부를 확인하는 것을 의미하는 경우

는, 당신이 그것을 지원하는 것이로드 된 모듈의 존재를 확인 할 수있는 포트의

존재, 존재를 확인/dev/ttyS0 또는/dev/ttyUSB0, 과 같은 장치를 열 수 있는지 확인하십시오 (예 : 해당 하드웨어가 실제로없는 시스템에/dev/ttyS0 장치 파일이 있음) . USB 변환기를 핫 플러그 ​​할 수 있으므로 실제 "직렬 포트"가 실행중인 시스템에서 작동하는지 확인할 수 있습니다.

"모뎀"제어/상태 신호

또 다른 가능성은 당신이 포트에 케이블로 연결있는 일이 있는지 확인하려는 것입니다. 이것은 시스템이 반드시 알아야하는 것이 아닙니다. 주변 장치가 주장 할 수 있고 읽을 수있는 모뎀 제어 및 상태 신호가 있습니다. 그러나 주변 장치는 모뎀을 사용할 필요가 없으며 모뎀 시대에 한 번 사용 된 방식으로 사용할 수도 있습니다. 많은 시스템에서 수신 및 전송 데이터 회선과 접지 만 활용할 수 있습니다.

는 나머지 가능성은 포트가 연결되어있는 경우 데이터를 찾고보다는 다른, 알 수있는 방법이 없을 수 있다는 것이다 데이터를 수신

으로 감지합니다. 일부 주변 장치는 정기적으로 자동으로 데이터를 생성 할 수 있으므로 읽을 수 있도록 시도해 볼 수 있습니다. 다른 사람들에게는 쿼리 (원하지 않는 부작용이없는 쿼리)를 보내고 예상되는 응답을 얻었는지 확인할 수 있습니다. 예를 들어 SCPI 표준을 구현하는 악기는 "* IDN? \ n"이라는 문자열을 보낸 경우 식별 정보로 응답 할 수 있습니다.

포트와 주변 장치를 호환 가능한 전송 속도 및 워드 형식으로 구성해야한다는 점이 추가로 주요한 문제입니다. 그렇지 않은 경우 임의의 데이터가 나타날 수 있습니다. 어떤 경우에는 구현 UART 엔진에서 프레이밍 오류 비트를 읽을 수 있습니다 (드라이버가이를 노출하는지 확인해야합니다). 아마도 거기에 뭔가가 있지만 잘못된 보드에 있음을 나타내는 지표로 사용할 수 있습니다 율.

하드웨어와 예상되는 데이터를 다른 쪽 끝에서 제어 할 수 있기 때문에 "호스트"가 아니라 "주변 장치"쪽에서 일반적으로 구현되지만 자동 보드 율 탐지 루틴을 작성할 수도 있습니다.

+0

이렇게 자세한 설명을 주셔서 감사합니다. 도움을 주시면 감사하겠습니다. –

+0

@ RajeshSO plz도 만족한다면 대답을 수락합니다. 이렇게하면 다른 사람들에게 도움이 될 것입니다. – Raulp

관련 문제