|
수신 데이터를 처리하는부분은 아마도 정상적인 데이터가 수신되었을 때 처리일 것입니다.
정상적인 포멧이 아닌 데이터를 수신했을때의 처리를 해주시는게 좋을 것 같군요.
void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
{
AnsiString Str;
ComPort1->ReadStr(Str,Count);
if(정상 포멧을 가진 데이터인지)
{
//데이터 처리
}
else
{
//예외처리 혹은 비정상 데이터 제거.
}
}
도움이 되었는지 모르겠군요...
하시는 일 잘 마무리 되시길 바랍니다.
-----------------------------------------------
작은 생각이 세상을 바꾼다. - 정성훈.해미 -
-----------------------------------------------
강영준 님이 쓰신 글 :
: CPort를 사용하는데요..
:
: OnRxChar 이벤트에서 수신 되는 모든 처리를 하는데요..
:
: 노이즈가 순간 유입 되었다가 사라 지면 그나마 조금 나은데요.
:
: 지속적으로 노이즈가 유입 되면.. 프로그램이 메모리로 부터 완젼히 사라져 버립니다.
:
: 대략
: void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
: {
: AnsiString Str;
: ComPort1->ReadStr(Str,Count);
: //Str 가지고 대다수 처리
: }
:
: 단순히 이런 형태인데요.. 노이즈 유입 되었을때 프로그램이 죽는 현상을 줄일수 있는 방법은 뭔가요?
:
: 그리고 어떤 이유로 프로그램이 완젼히 다운되버리는지도 좀 알려주세요...
:
: 근데.. 하이퍼터미널은 노이즈의 내용도 그대로 화면에 출력해주든데.. 물론 알아 볼수 없는 내용이지만요
:
: 부탁 드립니다....
:
:
:
|