Subject:
cnModem与硬件Wave Modem通讯的问题,指令发出去没有反应
[Print This Page]
Author:
mestars
Time:
2005-9-10 10:37
Subject:
cnModem与硬件Wave Modem通讯的问题,指令发出去没有反应
Wave Modem装在Com1上,用超级终端测试没有问题,可是用cnModem控件发送指令没有反应呀,为什么?是不是还有参数要修改?
程序的代码如下:
//打开端口
procedure TForm1.btn_2Click(Sender: TObject);
begin
CnModem1.CommName:='Com1';
CnModem1.CommConfig.BaudRate:=9600;
CnModem1.StartComm;
end;
//发送AT指令
procedure TForm1.btn_1Click(Sender: TObject);
begin
CnModem1.WriteATCommand('at');
sleep(300);
// CnModem1.WriteATCommand('AT+Cgmi');
// CnModem1.WriteATCommand('AT+Cmgf=0');
// sleep(300);
// CnModem1.WriteATCommand('AT+CMgL=4');
// sleep(300);
end;
//接收数据
procedure TForm1.CnModem1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
Var
i,LengthTotal: word;
s, tmp: String;
rbuf: Array[0..2047] Of byte;
iPos1, iPos2: integer;
Begin
s := '';
LengthTotal :=BufferLength;
FillChar(rbuf, 2048, #0);
Move(Buffer^, pchar(@rbuf)^, LengthTotal);
For i := 0 To LengthTotal - 1 Do
s := s + chr(rbuf[i]);
mmo_1.Lines.Add(s) ;
mmo_1.Lines.Add('-----------------------------');
end;
//关闭端口
procedure TForm1.btn_3Click(Sender: TObject);
begin
CnModem1.StopComm;
end;
Author:
mestars
Time:
2005-9-14 14:15
问题解决啦.不过现在用的是spcomm2.5。
cnModem是基于spcomm写的,spcomm3.0也有命令发出去没有反应的问题。估计是有些代码有问题,水平有限我没有发现到底是什么问题,希望改进一下。
支持cnPack希望你们做的更好。
Author:
zjy
Time:
2005-9-14 20:35
CnModem 本身已经封装了常用的 AT 命令,在拨号前设置好属性,直接调用拨号方法就可以连接了。如果需要自己发 AT 命令的话,这个组件可能会有一些问题,没有仔细测试过。
有时间我们会测试一下,多谢您的报告。
Welcome to CnPack Forum (http://bbs.cnpack.org/)
Powered by Discuz! 5.0.0