请教TMSComm控件问题:用output发出去AT指令后input收到发出去的AT指令
atoz 2002-06-26 10:55:02 代码如下,无论我输入任何AT指令,Memo中显示的只是我发出去的内容。
而且只有波特率是 19200 的时候有显示返回,其他都没有。
我的终端是我的 siemens 3568i 手机。
//---------------------------------------------------------------------------
void __fastcall TFormMain::ToolButton1Click(TObject *Sender)
{
if (ToolButton1->Down)
{
try
{
// 9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1->Settings = "19200,n,8,1";
MSComm1->Handshaking = 0; // 无握手
MSComm1->InBufferCount = 0; // 清空接收缓冲区
MSComm1->InputLen = 0; // Input读取整个缓冲区内容
MSComm1->RThreshold = 1; // 每次接收到字符即产生OnComm事件
MSComm1->PortOpen = true; // 打开串口
MSComm1->DTREnable = true; // 数据终端准备好
MSComm1->RTSEnable = true; // 请求发送
}
catch (...)
{
ToolButton1->Down = false;
return;
}
}
else
{
MSComm1->PortOpen = false;
MSComm1->DTREnable = false;
MSComm1->RTSEnable = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::MSComm1Comm(TObject *Sender)
{
OleVariant TxBuffer;
if (MSComm1->CommEvent == comEvReceive)
{
TxBuffer = MSComm1->Input;
Memo1->Text = Memo1->Text + WideString(TxBuffer);
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Button1Click(TObject *Sender)
{
OleVariant TxBuffer;
if (Trim(Edit1->Text) != "")
{
TxBuffer = Edit1->Text;
MSComm1->Output = TxBuffer;
}
}
//---------------------------------------------------------------------------