我现在有一系列摩托罗拉Razar v3m包含大约26部手机。我有一个我构建的多线程软件平台,它管理每个电话和消息路由/定时等待任务以及所有这些。
当我发出:
AT + CMGW =" 1234567890"&消息LT; 26>< 27>
将消息写入手机内存需要将近30秒,然后我会使用以下方式发送消息:
AT + CMSS =
messageIndex
又需要30秒。
我尝试过使用AT + CMGS,但无法成功发送消息。
我需要这是可靠的,但是通过这种方法/手机组合,我甚至不会依赖它来告诉我一年生日快乐。
是否有其他方式发送短信而不先将其存储到内存中?它不仅缓慢; 但最终导致手机不再发送消息,即使它们被AT + CMGD删除后也会被删除。
答案 0 :(得分:0)
这听起来就像你正在写入sim内存,因为它太慢了。
来自27.005中AT+CMGW
的说明:
执行命令将消息(SMS-DELIVER或SMS-SUBMIT)存储到内存存储
<mem2>
。
以及之前的&#34; 3.1参数定义&#34;:
<mem1>
字符串类型;读取和删除消息的内存(命令列表消息+ CMGL,读取消息+ CMGR和删除消息+ CMGD);定义的值(其他是制造商特定的):
"BM" broadcast message storage
"ME" ME message storage
"MT" any of the storages associated with ME
"SM" (U)SIM message storage
"TA" TA message storage
"SR" status report storage
<mem2>
字符串类型;写入和发送操作的内存(命令从存储+ CMSS发送消息,写消息到存储器+ CMGW));参考定义的值
<mem1>
和<mem2>
的值配置为AT+CPMS
首选消息存储(请注意您应set both to the same value)。所以我的猜测是,如果你运行AT+CPMS?
,它将返回+CPMS: "SM", ..., ..., "SM", ...
。如果我的猜测是正确的,你应该切换到手机上的另一个存储空间(&#34;我&#34;,&#34; MT&#34;或&#34; TA&#34; - 检查AT+CPMG=?
它支持的内容(它可能支持additional storages与标准相比)),这将比sim存储快得多。
应该可以使用AT+CMGS
,但请注意在发送有效负载之前确实需要wait for "\r\n> "
。当你说你没有得到那个工作时,我认为你在正确解析答案和正确等待方面遇到了一些麻烦。