이벤트/인터럽트를 사용하여 직렬에서 읽고 쓰고 싶습니다. 현재는 while 루프에서 사용하고 있으며 연속적으로 직렬을 통해 읽고 씁니다. 직렬 포트에서 무엇인가를 읽을 때만 읽기를 원합니다. 이 C++에서 어떻게 구현합니까?직렬 통신의 이벤트/인터럽트
이 내 현재 코드입니다 : 당신은 단지 당신이 포트에 데이터가 알고 읽을 필요가 있도록
while(true) { //read if(!ReadFile(hSerial, szBuff, n, &dwBytesRead, NULL)){ //error occurred. Report to user. } //write if(!WriteFile(hSerial, szBuff, n, &dwBytesRead, NULL)){ //error occurred. Report to user. } //print what you are reading printf("%s\n", szBuff); }
내가 선택 문장의 예를 볼 수 대기 중단 시간 동안 경과 된 시간을 볼 수 있습니다 창에 중단을 사용하여 시리얼 incomming 데이터를 읽는 코드 또는 예제에 대한 링크? 나는 google에 그것을 찾아 낼 수 없었다. – Steve
나는 두 개를 가로 질러왔다. 맨 페이지가 더 명확하고 간결해진 것을 발견했습니다. developerweb 링크는 소켓 지향적이지만 좀 더 도움이되는 Q & A가 있습니다. –
select()는 POSIX 파일 디스크립터 (정수)에서만 작동하며 Windows HANDLE에서는 작동하지 않습니다. –