|
即使是我已经关了Outx_XonXoffFlow=false;Inx_XonXoffFlow=false;有下面是代码。我是把串口2,3脚短接后来测试的,不能收到0X11,13这二个数据。除了这二个,别的都能收。有哪位高位能帮忙看一下。
void __fastcall TMainForm::Button1Click(TObject *Sender) //发送按钮
{
AnsiString S=Edit1->Text;//即将发送的数据
AnsiString T;
char D[1024];
int i;
i=0;
Memo1->Lines->Add(S); //显示已经的数据
while (S.Length()>0)
{
int p=S.Pos(",");
if (p>0) T=S.SubString(1,p-1);
else
{
T=S;
S="";
}
char c;
if (T.Length()==1) T="0"+T;
HexToBin(T.c_str(),&c,2);
D=c;
i++;
S=S.SubString(p+1,65535);
}
Comm->WriteCommData(&D[0],i);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CommReceiveData(TObject *Sender, Pointer Buffer,
WORD BufferLength)
{
AnsiString S,T;
char Buf[4096];
Move(Buffer,Buf,BufferLength);
for (int i=0;i<BufferLength;i++)
{
T=IntToHex(Buf,2);
if (T.Length()>2) T=T.SubString(7,2);
S=S+T+",";
}
Memo2->Lines->Add(S); //接收到发送的数据
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|