1.怎样用GSM模块(手机modem)发中文短讯,英文的我已实现。(200分)

  • 主题发起人 主题发起人 NameNick
  • 开始时间 开始时间
N

NameNick

Unregistered / Unconfirmed
GUEST, unregistred user!
1.怎样用GSM模块(手机modem)发中文短讯,英文的我已实现。
2.发中文必须在pdu模式中发,我只发一个"中"字,它的unicode码为4E2D,
短讯中心号码为:+8613800851500按PDU规则变换后得到683108801505F0,
被叫号码为:13885083464变换后得到3188053864F4,最后PDU包为:
0891683108801505F011000D91683188053864F4000800044E2D发送时包尾加ctrl-z字符.
我用超级终端发成功了!但在我的程序中仍然没有成功,modem不返回任何值.
在级终端里成功后会返回成功发送的长度,请帮我查一下.
给手机modem发at命令我用的是串口控件"mscomm".
下面代码中的"comm"就是mscomm控件.上面我提到的只发一个"中"字的例子的
delphi代码如下:
procedure TFormMain.Button1Click(Sender: TObject);
var
cmd:string;
i,j:integer;
ba:array of byte;
begin
//清空接收缓冲区
comm.InBufferCount:=0;
comm.InputLen:=0;
//设置短讯中心号码
comm.output:='AT+CSCA=+8613800851500'+cnReturn;
sleep(1000);
memo1.Lines.add(comm.input);
//检查是否支持sms服务
comm.output:='AT+CSMS=0'+cnReturn;
sleep(1000);
memo1.Lines.add(comm.input);
//设置modem为pdu模式
comm.output:='AT+CMGF=0'+cnReturn;
//Set PDU mode
sleep(1000);
memo1.Lines.add(comm.input);
//设置字符集
cmd:='AT+CSCS="GSM"'+cnReturn;
comm.output:=cmd;
sleep(1000);
memo1.Lines.add(comm.input);
//开始发命令长度为17
comm.output:='AT+CMGS=17'+cnReturn;
sleep(1000);
memo1.Lines.add(comm.input);

//下面是设置pdu包数据,这里为一个固定的包,它在超级终端里测试过正常
cmd:='0891683108801505F011000D91683188053864F4000800044E2D'+'1A';
//这个包中每两位为一个字节,把他们放到一个字节数组中
setlength(ba,length(cmd) div 2-1);
i:=1;
j:=0;
while i<length(cmd)do
begin
ba[j]:=strtoint('$'+cmd+cmd[i+1]);
inc(j);
inc(i,2);
end;
//把pdu包送给modem
comm.Output:=ba;
sleep(1000);
memo1.lines.add(comm.input);
end;

 
怎么没人进来?我再加500分,希望专家们解答。
 
我现在最不清楚的是,串'0891683108801505F011000D91683188053864F4000800044E2D'直接以字符串发给modem还是
把串的每两位放到一个字节以二进制发送(或者把串的每两位转为一个字符后组成的串发送),
请详细说明一下,最好给出代码。
 
1、也许不该使用AT+CSCS="GSM",而使用AT+CSCS="UCS2"?
 
高深,学习
 
我有一段程序,实现了短消息发送(E,C),也是偶然的机会得到的,只是没有时间去研究
一下,如果需要发给你,自己琢磨好了!也不知道这样做算不算不道德,因为这段程序可能
是要Money的。
 
您好, GanQuan.
我是新来的后辈, 也想学习一下短消息发送的程序,您能给我也发一份吗?
nexen@263.net 谢谢。
 
能否给孤某人也发一分?多谢!zero_juan@263.net
 
我将爱立信398连接好数据线后,接到COM1口上,无论用超级终端或编程都无法得到应答,请问
怎么判断故障在哪里?是数据线还是手机的接口坏?谢谢!
 
同样的方式,通过串口控制MODEM都是好的
 
你好,GanQuan:给我一份吧,cqwjx@163.com
 
能給我介紹一下 GSM模块是什么東西?
 
wolfteeth@21cn.com
 
用SPCOMM控件吧,我用它作过类似的程序,没有问题.
 
您好, GanQuan.
也想学习一下短消息发送的程序,您能给我也发一份吗?
lcsqmiao@public.cz.sx.cn
谢谢。
 
[red]TO: GanQuan.[/red]
[blue]我也想学习一下短消息发送的程序,您能给我也发一份吗?
dream40@etang.com 谢谢!!![/blue]
 
NameNick,可不可以开个专门讲如何发短信的帖子啊?
 
后退
顶部