문제

내가 궁금해하는 경우와 어떻게 그것이 가능하 제어 RS-232 핸드셰이킹 라인에서 직접 win32(old C-API).

고 싶 인터페이스 외부 하드웨어 부분,그리고 두 가지 간단한 데이터 라인 것에 충분한 업데이트해야 할 책임이 없습니다.

그는 거기 위한 API 를 win32 수 있는 나에게 읽고 쓰는 국가의 상태인가?일반 직렬 통신 핸드셰이킹 라인에 의해 구동되는 UART 자동으로(하드웨어 핸드셰이킹을 사용하).

내가 기억하는 사소한에서는 DOS.하나는 그냥했 프로그램 UART 직접 있습니다.이 기능을 살아 win32 에서 어떻게 든?

도움이 되었습니까?

해결책

RTS 및 DTR을 사용하여 제어 할 수 있습니다 SetCommState(). 또한 하드웨어 또는 드라이버 핸들 하드웨어 FlowControl (CTS 및/또는 DSR)을 갖도록 물건을 설정하거나 사용하여 물건을 설정할 수 있습니다. SetCommMask() 따라서 신호가 변경되면 이벤트가 발생합니다.

괜찮은 개요는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/ms810467.aspx

Win32 Serial Comm API 및/또는 드라이버는 까다로울 수 있으므로 와이어에서 진행중인 작업을 디버깅해야합니다.

다른 팁

나는 가로 질러 달렸다 이것 RS232 포트와 통신하기 위해 프로젝트를 수행해야 할 때 튜토리얼. 포트를 열고 시간 초과를 포함한 일부 속성을 설정하고 포트를 읽고 쓰기 및 닫는 방법에 대한 완전한 예입니다. 비록 당신의 프로젝트가 지금까지 끝났음에도 불구하고, 나는 이것이 SO Archives에 남아 있기 때문에 유용하게 남아 있기를 바랍니다.

장치 드라이버를 구현하는 데 필요한 보호 된 하드웨어에 도달하기 위해서만 유사한 유형의 프로그래밍을 수행 할 수 있습니다. 나는 이것이 같은 유형의 일을했을 때 1980 년대 이래로 더 쉬워 졌다고 가정합니다.

Microsoft 실제로 일을 하드웨어 핸드셰이킹 now?많은 년간 NT,win2000 및 XP 하지 않았 핸드셰이킹에서 하드웨어입니다.당신 fifo 의 특정 지점에 도달 장치 드라이버의 것 수동으로 변경 cts 라인입니다.즉 그것은 매우 간단하는 장치를 일으키는 원인 드라이버는 데이터가 손을 잡아 창은 마우스로 주위에 원형 화면 예를 들어(확인하는 창의 왼쪽 화면에서의 전부 또는 일부를 전달).Alt-를 입력하고 명령 프롬프트에서 전체 화면 쉬운 방법을 일으킬 데이터의 손실이다.또는 다른 원인이 되는 충분의 인터럽트 대기 시간이 길어집니다.기본적으로 마이크로 소프트웨어의 흐름을 제어하지 않은 하드웨어나 소프트웨어 흐름을 통제하는 경우에도,하드웨어는 하드웨어 흐름 제어 기능을 microsft 의 드라이버 설정하지 않는 비트입니다.해수면 결국 지원 않았다는 것,조금만 그렇다고,너를 넣어 가지고 오른쪽 무관에서 설정 SetCommState()를 사용합니다.

마찬가지로 지금까지 귀하의 프로그램을 제어하는 신호를 사용하 SetCommState().

DTR/DSR/DCD 유량 제어를 지원하지 않는 일부 USB에서 직렬 어댑터가 있습니다. 이것이 당신의 경우 일 수 있습니다.

http://www.digi.com/support/kbase/kbaseresultdetl?id=588

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