AT指令请教,怎么没办法发出去啊? ( 积分: 200 )

  • 主题发起人 主题发起人 scy_fjqz
  • 开始时间 开始时间
S

scy_fjqz

Unregistered / Unconfirmed
GUEST, unregistred user!
例如短信息中心号码为泉州 +8613800595500
对方手机号码为 +8613788800050
要发送的信息为“A”

这样写对吗
AT+CMGS=16<回车,ASCII为13>
0891683108509505F011000D91683187880050F00004000141<ctrl+z>
 
例如短信息中心号码为泉州 +8613800595500
对方手机号码为 +8613788800050
要发送的信息为“A”

这样写对吗
AT+CMGS=16<回车,ASCII为13>
0891683108509505F011000D91683187880050F00004000141<ctrl+z>
 
谁能帮忙,我再给分,谢谢
 
用:
0891683108505905F011FF0B813187880050F03208A70141<ctrl+z>
试一下,我手头没有无线Modem。
 
超级终端还是提示error

请问如何算那个长度?
AT+CMGS=16,16有没有错?有人说至少要18,怎么算?
 
......
function GetPDUData(SMSC, DATel, SDU: String; var len: String): String;


......
Function TPhoneMessage.GetPDUData(SMSC,DATel,SDU:String;var len:String):String;
var
i:Byte;
Data:String;
SMSC_Len,DATel_Len:Byte;
begin
SMSC:=PDUSMSC(SMSC,SMSC_Len);
DATel:=PDUTel('86'+DATel,DATel_Len);
SDU:=PDUFmtStr(SDU);
i:=Length(SDU) div 2;
Data:='';
Data:=Data+'3100';
Data:=Data+DATel;
Data:=Data+'00';
Data:=Data+'08';
Data:=Data+'A7';
Data:=Data+IntToHex(i,2);
Data:=Data+SDU;
len:=IntToStr(2+DATel_Len+4+i);
Result:=SMSC+Data;
end;
.......
function TPhoneMessage.senderMessage(msg: string;toPhone:string): boolean;
var
tmp,len:string;
temp:STring;
lrc:longword;
s:String;
begin
result:=false;
Data:=GetPDUData(msgCenterCode,tophone,msg,Len);
temp:=format('%s=1',[at.ATCSMS])+#13;
writefile(hcomm,pchar(temp)^,length(temp),lrc,nil);
sleep(50);
s:=readcom;

// temp:=format('%s=2,1,0,0,0',[at.ATCNMI])+#13;
temp:=format('%s=2,2,0,1,1',[at.ATCNMI])+#13;
writefile(hcomm,pchar(temp)^,length(temp),lrc,nil);
sleep(50);
s:=readcom;

temp:=format('%s=0',[at.ATCMGF])+#13;
writefile(hcomm,pchar(temp)^,length(temp),lrc,nil);
sleep(50);
s:=readcom;

temp:=format('%s=%s',[at.senderAT,len])+#13;
writefile(hcomm,pchar(temp)^,length(temp),lrc,nil);
sleep(50);
s:=readcom;

temp:=Data+#26;
writefile(hcomm,pchar(temp)^,length(temp),lrc,nil);
sleep(100);
s:=readcom;
sleep(6000);
s:=readcom;
if pos('OK',Uppercase(s))>0 then
Result:=true;
//if s<>'' then result:=true;
end;
 
不懂,帮提前!
 
at+cmgs=16
0891683108502905F011FF0B813126058011F03208A7020041<ctrl+z><Enter>
经测试发送完全成功!
我测试为:厦门短信中心号码:13800592500 目标手机号:13625008110
注意:1.倒数第三字节为02,内容长度为两个字节。
2.发送内容:0041为“A”的Unicode。
3.发送结束为<ctrl+z>还要<Enter>,也就是用两个字节的数组发送。
 
谢谢china_delphi,呵呵!
at+cmgs=17
0011000D91683159799759F50008A7020041
这个也可以,这个直接取默认的短信中心网管!
我是泉州的,你是厦门的吗?
跟我联系如何,我的邮件:scy@fj172.com,谢谢
 
后退
顶部