Q&A

  • win 98/2000 간의 serial 통신에 관하여


안녕하세요?



3일동안 고민고민과 방법을 바꿔가면서 Test & Test를 해보다가

도저히 안되서 이렇게 질문을 드립니다.



아래의 코드를 win98 에서는 잘 동작합니다.

그런데 win2000 에서는 꿈쩍도 안합니다. 이유를 모르겠습니다.

그럼 아무쪼록 많은 고수님들의 조언을 부탁 드리겠습니다.



송은홍올림



처음 열때:

hComm := CreateFile( pchar('.COM2'),

GENERIC_WRITE or GENERIC_READ, 0, nil,

OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0 );



읽어 올때:

ReadFile( hComm, Buffer, 2047, DataSize, @OVERLAPPED );



쓸때:

WriteFile( hComm, Value, sizeof( value ),

WrittenDataSize,@OVERLAPPED );



1  COMMENTS
  • Profile
    쭉쭉빵빵 2001.04.03 04:25
    송은홍 wrote:

    >

    > 안녕하세요?

    >

    > 3일동안 고민고민과 방법을 바꿔가면서 Test & Test를 해보다가

    > 도저히 안되서 이렇게 질문을 드립니다.

    >

    > 아래의 코드를 win98 에서는 잘 동작합니다.

    > 그런데 win2000 에서는 꿈쩍도 안합니다. 이유를 모르겠습니다.

    > 그럼 아무쪼록 많은 고수님들의 조언을 부탁 드리겠습니다.

    >

    > 송은홍올림

    >

    > 처음 열때:

    > hComm := CreateFile( pchar('.COM2'),

    > GENERIC_WRITE or GENERIC_READ, 0, nil,

    > OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0 );

    >

    > 읽어 올때:

    > ReadFile( hComm, Buffer, 2047, DataSize, @OVERLAPPED );

    >

    > 쓸때:

    > WriteFile( hComm, Value, sizeof( value ),

    > WrittenDataSize,@OVERLAPPED );

    >



    일단 저는 커스텀컨트롤을 쓰고 있어요.

    그러나 VC로 개발시에는 위와같은 방법을 사용했고 2000에서도 잘돌고 있습니다.

    문제는 2000에 있을거에요.

    잘은 모르지만 2000에 특정옵션을 설정하여 주시면 될걸로 알고 있어요.

    그리고 저는 2000의 SYSTEM DEVICE의 COM포트 BOAUD RATE 실제 통신속도로

    바꾸니깐 잘되더군요.

    위의 2000에 특정옵션은 어떤것인지는 잘모르고 일단 BOAUD RATE만 맞추면

    돌것으로 믿어요.

    쩝 허접 답변이었습니다.