|
답변 주셔서 정말 정말 감사합니당....
unsigned char로 바꿔서 해보니 데이터가 깨져서 나오지는 안는군요..
그런데 데이터가 왜 모두 0만 출력되는걸까요? 어떤 숫자로 나와야하는데...
가르쳐주시면 감사하겠습니당.. ^^
이재수 님이 쓰신 글 :
: 저도 작업하던게 있어서..테스트는 못해봤지만,
: 요즘은 대부분 스트림으로 데이터를 주고 받기 때문에, 컴포넌트도 그렇게 만든것 같습니다.
: 산업용기기에서 프로그래밍 할때,
: 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;
: : }
: :
: :
: :
: :
: :
: :
|