|
cport는 사용해본적은 없는데요.
Write 데이터를 보니 Return 데이터도 데이터종료신호인 ETX 다음에
체크데이터가 2byte 더 들어오는 것으로 보입니다.
이벤트가 발생할 때마다 들어오는 데이터를 더하면서 검사하다가
ETX 다음에 2byte 더 들어오면 그 때 처리하는거죠.
저는 이렇게 사용합니다만...헤헷
너브 님이 쓰신 글 :
: 안녕하세요...
: 이번에 cport를 이용해서 시리얼 통신으로 서보모터를 제어하려고 합니다.
:
: 시리얼 통신은 첨으이라 그런지 너무나 힘드네요.
:
: 질문은...
: chart cmd[11] = {SOH,'0','0',STX,'0','05',ETX,chk[1],chk[0],'\0'}
:
: 위와같은 명령으러 cport를 써주면
: ComPort1->Write(cmd,10);
:
: 서보측에서 data를 보내오면...
: OnRxChar 이벤트에서 캐랙터를 받아옵니다.
: 그런데 문제는 받아오는 문자가 적을때는 문제가 되지 않는데
: 좀 많아질때에는 여러번 끊어서 이밴트를 발생해서 문자를 받아옵니다.
:
: 명령어가 많이 보내면 마지막 명령어를 보내기 전에 OnRxChar 이밴트가 발생해서 문자를 받아옵니다.
:
: 제가 원하는 것은 하나의 명령어를 보냈을때 그에 대한 답이 다 올때까지 기다렸으면 합니다.
: 어떻게 해야 되나요?
: 혹시 OnRxChar 이벤트가 다 끝났다는 신호는 없을까요???
: (제 짧은 생각이었습니다.)
:
: 하나의 명령어에 하나의 답을 받고 싶은데... 명령어에 다른 답의 길이가 다르기 때문에 OnRxChar 이벤트가 1번 이상 발생할 경우 어떻게 처리해야 되나요???
|