님의 프로젝트를 열어보니
빌더 왼쪽 화면에 있는 "Object Inspector->Events"의 항목에 OnRxChar이 설정이 안되어 있네요.
그 항목을 더블클릭을 해보세요.
크레브 님이 쓰신 글 :
: 정 해결이 안되면...
: 해결 방법도 아니고..완전 미봉책이지만.~
:
: ComPort->ReadStr 할때 데이터는 있다고 하니까
: 타이머 하나 만드셔서 계속 ComPort->ReadStr 호출 하시면됩니다.
:
: 대충 아래 같은 방식으로
:
:
: static AnsiString sData;
: AnsiString sBuf;
: ComPort->ReadStr(sBuf,6); // 여기서는 6으로 ... 대신 아무 숫자나 넣어도 될듯..
:
: sData += sBuf;
:
: if( sData가 원하는 프로토콜 패킷이면 )
: {
: ProcessData(sData);
: sData = "";
: }
:
:
:
: 시간이 급하고 일단 해결부터 해야 한다면 .. 어쩔수 없죠 ^^;;
:
:
:
: ★래미★ 님이 쓰신 글 :
: : 여러가지 방법 알려주셔서 너무 감사드려요~~
: : 해결은 아직 안됐지만 성의있는 답변 감사합니다^^
: : 즐거운 하루 되시구요~~
: :
: : 하이퍼터미널에 GPS데이터가 이런식으로 잘 들어오는걸 보면(실내에서 테스트한거라 쓰레기데이터이지만요)
: : 몬가 대단한 설정은 아닌거 같은데,, 이벤트 발생을 안시키는 이유를 모르겠네요 ㅠㅠ
: :
: : $GPGLL,0.0000,S,0.0000,E,004628.063,V,N*61.0000,E,,,160406,,,N*5C
: : $GPGSA,A,1,,,,,,,,,,,,,,,*1E
: : $GPVTG,,T,,M,,N,,K,N*2
: : $GPGSV,3,1,12,20,00,000,,10,00,000,,25,00,000,,27,00,000,*790,00,,,M,0.0,M,,0000*46
: : $GPGSV,3,2,12,22,00,000,,07,00,000,,21,00,000,,24,00,000,*79
: : $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78
: : $GPRMC,004628.063,V,0.0000,S,0.0000,E,,,160406,,,N*53
: : $GPVTG,,T,,M,,N,,K,N*2C
: : $GPGGA,004629.054,0.0000,S,0.0000,E,0,00,,,M,0.0,M,,0000*48
: : $GPGLL,0.0000,S,0.0000,E,004629.054,V,N*64
: : $GPGSA,A,1,,,,,,,,,,,,,,,*
: : $GPGSV,3,2,12,22,00,000,,07,00,000,,21,00,000,,24,00,000,*79
: : $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78
: : $GPRMC,004629.054,V,0.0000,S,0.0000,E,,,160406,,,N*56
: : $GPVTG,,T,,M,,N,,K,N*2C
: : $GPGGA,004630.053,0.0000,S,0.0000,E,0,00,,,M,0.0,M,,0000*47
: : $GPGLL,0.0000,S,0.0000,E,004630.053,V,N*6B
: : $GPGSA,A,1,,,,,,,,,,,,,,,*1E
: : $GPGSV,3,1,12,20,00,000,,10,00,000,,25,00,000,,27,00,000,*79
: : $GPGSV,3,2,12,22,00,000,,07,00,000,,21,00,000,,24,00,000,*79
: : $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78
: : $GPRMC,004630.053,V,0.0000,S,0.0000,E,,,160406,,,N*59
: :
: :
: : 크레브 님이 쓰신 글 :
: : : 시리얼통신에 대해서 깊이 공부해 볼 기회가 없어서
: : : 정확한 답변은 하기가 곤란하고요..
: : :
: : : TComPort 사용 경험에 비추어 생각 나는 대로 몇가지만 말씀드립니다.
: : : 물론 다 해보신 방법 일 수도 있습니다.
: : :
: : : SyncMethod를 smThreadSync로 하지 마시고 smWindowSync로 한번 해보시길
: : : 전에 이 것 때문에 통신이 안들어왔던 경험이 있습니다.
: : :
: : : 시리얼 통신 프로토콜 자체에 포맷이 있다면 프로토콜의 마지막을 나타내는 문자를
: : : EventChar에 설정해보세요
: : : 보통 시리얼통신에서 많이 사용하는 마지막 문자인 ETX는 0x03으로 설정 하면 이벤트가 들어옵니다.
: : : 콤포넌트에서는 #으로 시작하는군요 #3 등으로 설정
: : : 물론 프로토콜에 따라 다릅니다.
: : :
: : : FlowControl의 ControlDTR 등의 옵션을 바꿔 봅니다.
: : : ControlDTR을 dtrEnable로 해보는 등의 방법이죠.
: : :
: : :
: : : ★래미★ 님이 쓰신 글 :
: : : : 실행해보면 Rx램프는 계속 반짝여서 데이터가 있는데
: : : :
: : : : ComPortRxChar 함수안으로는 안들어와요 ㅠㅠ
: : : :
: : : : ========
: : : : Open 한 후에
: : : : ComPort->ReadStr(Str, 6);
: : : : 이렇게 읽어보니 데이터는 있네요,,
: : : : 도대체 이벤트함수로 안들어오는 이유를 알수가 없어요 ㅠㅠ
: : : :
: : : :
: : : :
: : : : ★래미★ 님이 쓰신 글 :
: : : : : USB타입 GPS수신기를 연결해서 데이터를 받으려고 하는데요
: : : : :
: : : : : 하이퍼터미널에서는 잘 들어오는데
: : : : :
: : : : : Cport는 안들어오는 이유가 뭘까요?ㅡㅡ
: : : : :
: : : : : Open까지는 되는거 같은데 OnRxChar 이벤트 함수로 들어오질 않아요~
: : : : :
: : : : : 설정은 9600, 8, 1, none, none 으로 둘다 같구요,,,
: : : : :
: : : : : 도와주세요(__)