Q&A

  • Cport로 시리얼통신 해보신 분들 답변 부탁드립니다.
얼마전에 Cport 콤포넌트를 다운받아서 모니터 프로그램을 짜고 있는데요
아직 내공이 부족하여 지금 곤란을 겪고 있슴다.
간단한 8bit 마이크로컨트롤러로 부터 13ms마다 2byte(1byte+1byte) 115200bps, Asysc하게 pc로 받는데요
먼저보내는 1byte만 받고 뒤에건 씹히더라구요.
너무 단순히 생각해서 인지 제 내공으로는 힘듭니다.

다른 시리얼모니터 프로그램을 돌려보면 2byte 모두 보이는데....T.T
안 써보신 분들이라도 시리얼통신 모니터프로그램에 대해 잘 아시는분들
꼭 자문 바랍니다.
3  COMMENTS
  • Profile
    맛간개구리 2003.08.23 21:21
    혹시나 하는 마음에...
    ReadInterval값이 -1로 되어 있을 경우 연속된 데이터 수신에 버벅 거릴때가 있더군요...특히나 마이컴과 통신할때는...
    Frame간 delay가 13ms이니 5나 3정도로 셋팅해서 한 번 해보세요...

  • Profile
    이성훈 2003.08.22 21:15
    음.. 2Byte가 올라올때까지 기다리면 될거 같은데요..

    procedure TForm1.CPort1RxChar(Sender: TObject; Count: Integer);
    begin
            if Cport1.InputCount = 2 then begin
               Cport1.Read(s, 2);
               ..
               ..
               ..
            end;
    end;

    그럼 즐푸하세요
  • Profile
    비루스 2003.08.22 20:18
    제 생각으로는 시리얼 통신에서의 시간개념은 중요하지 않구요..하드웨어적인 셋팅이 맞는다면 데이터를 잃어버리는 경우는 없으리라 생각합니다..간혹 데이터 수신에 대한 이벤트가 한발 늦어서 보내는 패킷중에 일부를 나중에 받을 수는 있다고 봅니다.
    수신 형식을 어떤식으로 하셨는지 궁금하네요..저역시 같은 VCL를 사용했는데요..아직 님과 같은 경우는 없었습니다.
    OnRxChar에서 수신 데이터를 메모장에 찍어보시면, 나중에 들어오는 데이터 역시 찍히는 걸 보실수 있을것입니다..
    그럼..이만..즐프하세요.