전체 코드를 볼 수 없어서 정확하게 답변은 못하겠지만
일단 수신 버퍼의 크기를 좀더 크게 잡고 해보세요.
최소한 통신 메뉴얼에서 제공하는 최대 수신 가능 데이터 양보다는 더 크게 잡아야 합니다.
또한 전송 및 수신 시 버퍼도 클리어 해주시구요..
한시운 님이 쓰신 글 :
: MT4Y제품을 C++ Builder의 ComPort를 이용해서 PC와 통신하고 싶습니다.
:
: 그런대 ComPort1->Write((BYTE *)recv, Count); 코드를 이용해서 MT4Y에 입력값을 주고
:
: ComPort1->Read((BYTE *)recv, Count);코드를 이용해서 MT4Y의 출력값을 받을려 하는대 좀처럼 마음대로 안되는군요
:
:
:
: 일단 이 방식이 맞는지와 recv 값을 BYTE recv[8] = {3, 0, 0, 0, 0, 1};과 같이 주었는대 이를 실행해 보면
:
: "Access violation at address 5003804B in module 'rtl160.bpl', Read of address 0086F509"
: 이와 같은 오류가 계속 뜨더군요
:
: 어떻게 해야 될까요?
|