我已经通过USB电缆将三星手机(GT-S3350)连接到我的PC,并为其安装了USB驱动程序。我可以使用AT命令通过PC向任何电话号码发送短信。我也尝试过通过Java使用Hyperterminal。
要配置移动到文本模式并接收详细的错误,我在超级终端中提交以下命令。
AT+CMGF=1
OK AT+CMEE=2
OK
正如我之前所说,我完全能够使用 CMGS 命令发送短信,它工作得很好。但是当我尝试列出消息时,我会收到一长串OK,如下所示。
AT+CMGL="ALL">
OK OKOK
还行
还行
还行
还行
好的
..
.
错误
正常
当我给出"REC READ"、"REC UNREAD"等而不是"ALL"时也是如此。
此外,当我使用 CNMI 命令收听新消息通知时,我立即收到 OK。预计它会显示新收到的短信的索引,但对我来说它保持空白。
AT+CNMI=1,1,0,0,0
OK
我尝试从另一部手机接收短信。收到消息,但我在终端上看不到任何内存索引。
我主要从博客和浏览 API 中学到这些。我也尝试了这个线程建议的方法。我做错了什么还是错过了什么?
我完全愿意接受有关在PC中接收短信的替代方案。请指教。
哎哟,这看起来不太好。AT 命令不应该1提供多个最终结果代码,因此获得大量OK
秒后跟一个ERROR
绝对是不对的。
进一步测试/调试的一些问题和建议:
-
这也适用于 PDU 模式吗?
-
这是否适用于所有不同的消息存储(检查
AT+CPMS
)? -
当您没有运行以 ATD 开头的数据调用时,将
<mode>
设置为 2 对于AT+CNMI
是否有任何区别? -
<bfr>
参数表示,未经请求的结果代码将在输入时刷新 模式 1 到 3。收到消息后(在测试时),将模式短暂设置为 0 然后又回到 1(或 2)从而强制输入是否有任何区别 到应该输出所有缓冲指示的模式? -
您是否尝试过使用不同的操作系统?不同的终端程序? (这真的不应该有任何区别,但谁知道呢)
1好吧,除了一个规格错误(见注1)。
有关了解有关 AT 命令的更多信息的一般提示,请查看 at-command 标签信息页面的链接,特别是消息传递命令的 27.005(但如果您以前没有读过 V.250,请从该命令开始)。