“通过串口收发短消息”的Q&A汇编
2006-07-21 11:13:04 来源:WEB开发网核心提示:就"通过串口收发短消息"专题,本人将同网友交流、探讨的部分技术问题整理成如下文字,“通过串口收发短消息”的Q&A汇编,希望这篇文章能对更多对SMS感兴趣的朋友有所帮助,由于本人是业余爱好,用at+cmgs发送短消息,格式好像没有错误,时间和金钱都有限,没有力量将很多型号的手机和模块一一试验
就"通过串口收发短消息"专题,本人将同网友交流、探讨的部分技术问题整理成如下文字。希望这篇文章能对更多对SMS感兴趣的朋友有所帮助。由于本人是业余爱好,时间和金钱都有限,没有力量将很多型号的手机和模块一一试验,可能存在这样那样的差错,希望行内高人批评指正。
我写了个短信发送程序,使用PDU格式发送,程序在广州使用一点问题也没有,在河南却怎么也发不出去。不知道为什么,短信"你好吗"格式如下:
河南: 0891683108200005F011000D91683170031618F20008A9064F60597D5417
广州: 0891683108301705F011000D91683170031618F20008A9064F60597D5417
发送短信时要用SIM卡属地的SMSC号码。如果是在广州办的卡,即使在外地还是要用广州的SMSC号码。你的两个短信内SMSC号码不同,但用的是同一张SIM卡,不知是否是此原因。
短信中心的号码可否直接使用SIM卡中的号码,而不要用户输入?我用过的短信软件好像都是不用输SMSC号码的。
有一条"AT+CSCA"指令,可用于设置或查询服务中心号码。若手机中已存在此号码,有两种解决办法:
- 用"AT+CSCA?"指令查询出来,然后自动将此号码写到PDU的SCA中。
- PDU的SCA字段只写一个"00":"08 91 68 31 ..." -> "00"
可用"AT+CSCA=xxxxxxxx"指令设置服务中心号码。
我在超级终端上,用at+cmgs发送短消息,格式好像没有错误,但总返回"ERROR"。我输入的就象这样:
at+cmgs=30
> 0891683108100005F011000D91683118405057F000000006C8329BFD0E01
请问是什么原因?
更多精彩
赞助商链接