|
저도 작업하던게 있어서..테스트는 못해봤지만,
요즘은 대부분 스트림으로 데이터를 주고 받기 때문에, 컴포넌트도 그렇게 만든것 같습니다.
산업용기기에서 프로그래밍 할때,
unsigned char과 char 간의 문제로
코드가 제대로 전달안된 걸 본적이 있습니다.
시리얼에서는 텍스트와 바이너리의 차이는 없을꺼구요.
받은 데이터를 unsigned char로 바꿔서 저장해 보시면 어떨까 합니다.
헬프 님이 쓰신 글 :
: CPort2.64로 시리얼 통신을 하고 있는데요...
:
: CPort2.64 파일 안의 예제를 돌려보면 데이타가 다 깨져서 나오거든요...
:
: 데이터가 깨져 나오는 이유가 텍스트로 받아서 그런것 같은데...
:
: 어떻게 해야 데이터를 바이너리로 받을 수 있을까요?(제가 빌더 초보라서 잘 모르겠거든요..)
:
: 시리얼 통신에 대해 잘 아시는분 없나여??
:
: 특히 예제 중에 아랫 부분을 모르겠거든요 좀 자세히 알려주시면 감사하겠습니다...
:
: void fastcall TForm1::Button_SendClick(TObject *Sender)
: {
: AnsiString Str;
:
: Str = Edit_Data->Text;
: if (NewLine_CB->Checked)
: Str = Str + "\r\n";
: ComPort->WriteStr(Str);
: }
:
: .....
: .....
: .....
: .....
:
: void fastcall Tform1::ComPortRxChar(TObject *Sender, int Count)
: {
: AnsiString Str;
:
: ComPort->ReadStr(Str, Count);
: Memo->Text = Memo->Text + Str;
: }
:
:
:
:
:
:
|