필요한게 다 들어올때까지 모아두었다가 다 들어오면 처리
이거 한가지 밖에 없죠. ㅡㅡ
백지상태 님이 쓰신 글 :
: 답변 감사합니다.
: 죄송한데 제가 C++Builder를 공부한지 일주일밖에 안되서 많이 부족합니다.
: 그래서 오류 상황에 대한 처리까지는 잘 모르겠네요ㅠ
:
: 지금같은 상황에서는 어떤처리를 해주는게 좋을까요?
:
: Intotheblue 님이 쓰신 글 :
: : 232 통신 중에는.
: : 님 글과 같은 상황이나..
: : 수신데이터 중 일부가 누락되거나..
: : 노이즈 등으로 인해 일부만 변형되는 경우등..
: :
: : 다양한 오류 상황에 대한 처리가 있어야 합니다.
: :
: : 백지상태 님이 쓰신 글 :
: : : cport를 이용해서 통신기와 데이터 주고 받는 프로그램 입니다.
: : : 그런데 값은 잘 주고 받는데 사진처럼 한줄로 오는 값이 저렇게 두줄이나 세줄로 옵니다.
: : :
: : : 저 값은 실제로는 하나의 값이고 값만 오게하면 한줄로 옵니다.
: : : 문제는 저렇게 앞에 시간을 넣으면 시간:값 하고 다음줄에 저렇게 오는데
: : : 한줄로 온전하게 오는 방법없을까요?
: : :
: : : 참고로 cport 부분 소스 입니다.
: : : -----------------------------------------------
: : : void __fastcall TForm1::Button4Click(TObject *Sender)
: : : {
: : : if(ComPort1->Connected)
: : : {
: : : AnsiString Str;
: : : Str = Edit5->Text;
: : : if (ComPort1->Connected) Str = Str + "\r\n";
: : : ComPort1->WriteStr(Str);
: : : }
: : : else
: : : {
: : : ShowMessage("Port 연결이 되지않았습니다.");
: : : }
: : :
: : : }
: : : -------------------------------------------------
: : : void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
: : : {
: : : AnsiString Str;
: : : ComPort1->ReadStr(Str, Count);
: : : AnsiString time = Now().FormatString("hh:nn:ss");
: : :
: : : Memo1->Lines->Add(time + " > " + Str);
: : : }
|