문제

IM 직접 포트를 통해 직렬 포트를 통해 전달하는 응용 프로그램을 작성합니다.

내 PC 응용 프로그램이 시작되면 사용할 수있는 COM 포트가 하나씩 열리고 예를 들어 ""당신은 무엇입니까? "를 보냅니다.

내 장치는 자신의 ID로 "마법의 질문"에 회신하기 위해 프로그램을 프로그래밍합니다 (예 : "나는 직원을 감독하기위한 악한 장치"라는 것).

PC 소프트웨어가 "Magic Reply"를 받으면 정상적으로 작동하지 않고 다른 포트를 더 이상 검색하지 않습니다.

물론 데이터 전송에서 어리석은 질문을 사용하지 않는 것입니다.

질문은 - 모든 (바쁜) 포트와 같은 문자열을 보낼 수 있습니까?

내가 할 수있는 경우 - "질문"문자열이 어떻게 보이는가? 정규화 된 표준이 있습니까?

이것은이 책상 에서이 프로젝트가 아닙니다.하지만 이제는 작은 산업을위한 솔루션을 개발하고 COM 포트에 연결된 다른 장치가 있기 때문에 내 애플리케이션이 수행하는 것을 더 많이 지불해야합니다. 그들이 어떻게 반응 할 수 있는지.

IM 죄송합니다. 언어 실수를 한 경우 영어는 제 3의 언어입니다.

답장을 위해 미리 감사드립니다.

도움이 되었습니까?

해결책

아니오, 당신은 그것을하고 싶지 않을 것입니다.


COM 직렬 포트를 사용하는 경우 포트에 꽂혀있는 것이 무엇인지 모르겠습니다. 그것은 아무것도없고, 당신의 장치, 모뎀, 마우스 일 수 있습니다 (아무도 더 이상 이것을 사용하지 않지만 ...) 당신이 상상할 수없는 것은 무엇이든간에

다른 컴퓨터 (아마도 Linux / Router)에 연결되어 있으면 상상을 보내는 것은 "해당 명령"을 실행하면 예기치 않은 효과가 발생할 수 있습니다 (프로그램이 알지 못할 수도 있음). 또는 나쁜 프로그래밍 된 장치 인 경우 펌웨어의 버그를 트리거하여 장치가 장애가 발생하고 오작동 할 수 있습니다.

짧은 경우, 최악의 경우, 가 재앙적인 사건을 일으킬 수 있습니다


직렬 (RS232 또는 UART i 가정) 통신은 지정된 전송 프로토콜 (USB가있는 USB와 대조적으로) 장치를 식별 할 수 있으므로 실패로 안전하지 않습니다. 사용자는 올바른 포트를 선택했는지 확인해야합니다. 이것은 아마도 하드웨어 제조업체가 USB를 선택하는 이유 중 하나 일 것입니다. 그리고 USB가 컴퓨터 바이롯스에도 너무 인기있는 이유 중 하나입니다.

다른 팁

Alvin Wong이 나의 우려를 확인하고 그 아이디어를 포기하고 싶지 않기 때문에 내 장치 발견 기능을 다시 디자인하고 재 설계했습니다.

장치에서 1-5 초마다 고유 한 복잡한 ID를 보냅니다.

내 PC가 시작되면 모든 사용 가능한 모든 포트를 순차적으로 열려고 해당 ID를 몇 초 동안 청취합니다.

응용 프로그램이 ID를 수신하는 경우 포트 번호 / 이름이 올바르고 내 연결이 설정됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top