1,我用windows 2000 超级终端.,设COM1,波特率:2400;数据位7;无奇偶校验;停止位2;数据流控制:xon/xoff;
属性中ASCII码设置(全选中):发送:1,换行符做发送行末尾;2,本地回显键入的字符;
接受:3,将换行符输入到行末尾;4,传入的数据转成7位ASCII;5,超过终端的宽度自动换行
发送"P"字符后,电脑正常显示终端的数值;
2,我使用c++ builder5.0编程,使用YBcommservice控件;我做如下设置:
COM1,波特率:2400;数据位7;无奇偶校验;停止位2;数据流控制:fcxon/fcxoff;
发送与接受:
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
unsigned char Buf[8192]; //收到的字节数不会超过串口缓存的容量, 所以分配一个缓存容量相同的Buf
int n;
AnsiString s;
YbCommDevice1->Command("P\r");
if(YbCommDevice1->Active)
{ n= YbCommDevice1->Read(Buf,8192); //检测收到的字节个数N
//ShowMessage("not got data");
if(n>0)
{ //ShowMessage("Get data");
for(int i=0; i s += IntToHex(Buf[i],2) + " ";
s = s.Trim();
//if(!s.IsEmpty())
// {
edtPort->Text=s;
// }
}
}
}
结果:edtPort->Text没有任何变化
请各位高手指点!
--------------------next---------------------
阅读(979) | 评论(0) | 转发(0) |