2009년 11월 1일 일요일

Visual C++에서 시리얼 포트 연결하기

지금까지 시리얼 포트를 열때 다음과 같이 쓰고있었습니다.

[code cpp]HANDLE comm = CreateFile(
   "COM3",
   GENERIC_READ | GENERIC_WRITE,
   0,
   NULL,
   OPEN_EXISTING,
   FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL); [/code]

그런데 저렇게 하면 10번 이상의 포트는 열리지 않는 문제점이 있습니다.
이것때문에 오늘 또 한시간정도 삽질을 햇군요 -_-;;;

10번 이상의 포트를 열고 싶을 때는 다음과 같이 써줘야 합니다.

[code cpp]HANDLE comm = CreateFile(
   "\\\\.\\COM10",
   GENERIC_READ | GENERIC_WRITE,
   0,
   NULL,
   OPEN_EXISTING,
   FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);[/code]
10번 이하의 포트도 이 방법으로 열 수 있으니 항상 이렇게 쓰는것이 좋겠습니다.

댓글 없음:

댓글 쓰기