现在的位置: 首页 > 综合 > 正文

MOTO V501无法通过AT指令发送短信引起的问题

2013年05月05日 ⁄ 综合 ⁄ 共 640字 ⁄ 字号 评论关闭
最近在MOTO V501手机上尝试发送短信,本来很简单的功能,但是一直不能正常运行,后来发现短信不成功的原因,发送短信是手机/GPRS MODEM本身自带的功能,也就是说只要是手机肯定是可以打电话的,对于软件来说,只是需要用AT指令把所要发送的内容传送到手机内就可以了。push/书签也是SMS的一种,不过是二进制(HEX)编码的。有一条AT指令是控制是不是手机把输入的命令原封不动的回显出来,即ATE0不显示ATE1显示,这里的E就是ECHO的意思。V501的问题在于,ATE指令不应该影响到短信发送命令AT+CMGS执行后的大于号>的显示,这个大于号是告诉用户,手机准备就绪了,可以继续传送SMS内容了。使用ATE0屏蔽ECHO之后,V501把大于号>也给省略了。。。对比了好多遍才发现这个问题。重现的方法很简单,使用超级终端直接打开V501,输入CMGF=0,然后输入AT+CMGS=30看看会有大于号显示,此时不要发送什么CTRL+Z退出。使用ATE0关闭ECHO,再输入AT+CMGS=30看看是否就没有大于号了,郁闷阿,弄了好久。。。至于为什么不能发送PUSH,还是很奇怪,只能看别人的软件可不可以发送PUSH了,按照道理来说能发送普通文字短信就可以发送PUSH。
    彩信的问题稍微复杂些,底层的通讯协议和具体的手机有些关系,主要体现在次序和组合上,为了程序简单,固定了一些组合和次序,不同的模块稍微不同,这点应该在我自己的程序中克服的,不过RFC文档好难看,懒惰阿。 

抱歉!评论已关闭.