Win32 COM 포트 통신 제어

1575 단어
그동안 아르바이트를 하면서 콤팩트 단편기 모니터링 제어 프로그램을 했고 윈32에서 콤팩트 제어를 배웠다.다음은 COM 포트 제어와 관련된 부분의 예시 코드입니다.
//  COM1
hCOM=CreateFile(
"COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if (hCOM==INVALID_HANDLE_VALUE) {
MessageBox(
GetForegroundWindow()," !"," ",MB_ICONINFORMATION);
return;
}

 
//DCBDCB dcb 설정if(!GetCommState(hCOM, &dcb)) {MessageBox(GetForegroundWindow(), "직렬 상태를 가져올 수 없습니다!",작업 실패, MBICONINFORMATION); hCOM=INVALID_HANDLE_VALUE; return;}
dcb.BaudRate=9600;dcb.ByteSize=8;dcb.Parity=NOPARITY;dcb.StopBits=ONESTOPBIT;if(!SetCommState(hCOM, &dcb)) {MessageBox(GetForegroundWindow(), "직렬 상태를 설정할 수 없습니다!",작업 실패, MBICONINFORMATION); hCOM=INVALID_HANDLE_VALUE; return;}
//COMMTIMEOUTSCOMTIMEOUTS 설정 communicationtimeout;communication_timeout.ReadIntervalTimeout=MAXDWORD;communication_timeout.ReadTotalTimeoutMultiplier=0;communication_timeout.ReadTotalTimeoutConstant=0;communication_timeout.WriteTotalTimeoutMultiplier=0;communication_timeout.WriteTotalTimeoutConstant=0;if (! SetCommTimeouts (hCOM, &communication timeout) {MessageBox (GetForegroundWindow (), "직렬 시간 초과를 설정할 수 없습니다!",작업 실패, MBICONINFORMATION); hCOM=INVALID_HANDLE_VALUE; return;}
//ABC 세 글자를 직렬로 ULONG nBytesWritten에 쓰기;WriteFile(hCOM,"ABC",3,&nBytesWritten,NULL);
//직렬에서 세 문자를strchar str[3]로 읽는다.ULONG bytes_read_num;ReadFile(hCOM,str,3,&bytes_read_num,NULL);
 
이 문서의 백업:http://fclose.com/b/programming/391/

좋은 웹페이지 즐겨찾기