|
현재 rs232 통신으로 데이터를 받아오고 있습니다.
아래는 데이터를 받아와서 화면에 보여주는 부분입니다.
리스트 박스에 수신된 데이터를 보여주죠.
void __fastcall TFormMain::ShowRcvData(int iLen, char *bData)
{
BYTE TempBuff[8];
AnsiString RcvData1;
int RcvData2;
int RcvData3;
POINT pt;
GetCursorPos (&pt);
SetCursorPos (bData[2]+pt.x, bData[1]+pt.y);
CaptureImage->Canvas->MoveTo(pt.x-Left-3, pt.y-Top-45);
CaptureImage->Canvas->LineTo(bData[2]+pt.x-Left-3, bData[1]+pt.y-Top-45);
for(int i=0; i<iLen; i++)
{
RcvData2 = bData[1];
RcvData3 = bData[2];
}
ListBox2->Items->Add(RcvData2);
ListBox3->Items->Add(RcvData3);
}
문제는 버튼을 누르면 0x01을 송신해야 하는건데, 어찌해야 될지를 모르겠네요.
아래는 볼랜드포럼에서 찾은 소스 내용입니다. 이 부분에서 처리를 해줘야 하는건지, 해야 한다면 어떻게 해야하는지 모르겠어요.
고수님들 도와주세요~ ㅠ.ㅜ
void __fastcall TFormMain::btnSendClick(TObject *Sender)
{
if(!RS232C->IsOpened())
{
ShowMessage("Open Failed!");
return;
}
RS232C->ClearTxBuffer();
MakeSendData();
if(!RS232C->WriteData(3, (BYTE *)&TxBuff))
{
ShowMessage("Header Send Error");
}
if(!RS232C->WriteData(TxBuff.Len, TxBuff.Data))
{
ShowMessage("Body Send Error");
}
}
|