Spcomm动态创建问题,欢迎高手来取分!再加150分 (50分)

  • 主题发起人 主题发起人 acbcwy
  • 开始时间 开始时间
A

acbcwy

Unregistered / Unconfirmed
GUEST, unregistred user!
目前正在编写利用AnyData CDMA Modem 发送接受短消息的一个组件,如有解答问题者,可
获得最终原程序一份.

我想在程序中动态创建Spcomm控件,控制Modem, 程序如下,但是发出去指令,没有回应?
请各位大虾指点。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,Spcomm, Db;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
procedure DoOnReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
AComm:TComm;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
AComm:=TComm.Create(Form1);
AComm.CommName:='COM1';
AComm.BaudRate := 9600;
AComm.OnReceiveData:=DoOnReceiveData;
AComm.StartComm;
end;
procedure TForm1.DoOnReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
Str1:String;
Begin
Str1:=Pchar(Buffer);
Memo1.Lines.Append(Str1);
End;
procedure TForm1.Button2Click(Sender: TObject);
var
Str1:String;
begin
Str1:='AT'+#$0D;
AComm.WriteCommData(pchar(str1),Length(Str1));
end;

end.


 
你确定button2的能发出去吗??modem的灯有闪?
procedure TForm1.Button1Click(Sender: TObject);
begin
AComm:=TComm.Create(Sender);
AComm.parent := S
AComm.CommName:='COM1';
AComm.BaudRate := 9600;
AComm.OnReceiveData:=DoOnReceiveData;
AComm.StartComm;
 
Aiirii,你问的正好,我单步跟踪,发现能发出去,但是Modem的灯不亮,
我取到AComm.Handle为$0030,我看过Spcomm的原程序,好象handle就是
打开串口的句柄。
 
问一个简单问题:spcomm控件在程序运行期怎么设置齐偶校验位
 
设置ParityCheck:=True;
设置Parity=EVEN;
 
可能是你的停止位,校验位没设置对吧!!我看代码没什么问题啊!!
 
谢谢Aiirii,我已找到了原因,原来是我计算机的串口不知什么时候坏了。
 
接受答案了.
 
我也用写了个同类程序!用的不是CDMA Modem 是一般CDMA手机(西门子3568i)。]
问一下CDMA Modem 要多少钱???
我用的是COMPORT控件。
comport.WriteStr('At'#13#10);
Sleep(200);//要等待
Comport.ReadStr(TestStr, ComPort.InputCount);
if Pos('OK', TestStr) > 0 then
StatusBar1.Panels[1].Text := '发现手机'
else
StatusBar1.Panels[1].Text := '未发现手机';
COMPORT的设置如下
Port=COM1
BaudRate=19200
StopBits=1
DataBits=8
Parity=None
FlowControl=Hardware//用软控件发送不成功

 
AnyData CDMA Modem一个需要140美金;
Eron CDMA Modem 模块需要120美金
 
你有cdma moden的指令集吗?,能否公布
 
后退
顶部