1

我已经通过 USB 电缆将我的三星手机 (GT-S3350) 连接到我的 PC 并为其安装了 USB 驱动程序。我可以使用 AT 命令通过我的 PC 向任何电话号码发送短信。我也通过 Java 尝试过使用 Hyperterminal。

要将移动设备配置为文本模式并接收详细错误,我将在超级终端中提交以下命令。

AT+CMGF=1
OK
AT+CMEE=2
OK

正如我之前所说,我完全能够使用 CMGS 命令发送短信,它工作得非常好。但是,当我尝试列出消息时,我会得到一长串 OK 列表,如下所示。

AT+CMGL="ALL"
OK

OK

OK


好的


好的


好的


好的


好的

.
.
错误

正常

当我给出“REC READ”、“REC UNREAD”等而不是“ALL”时,情况也是如此。
此外,当我使用 CNMI 命令收听新消息通知时,我会立即收到 OK。预计它会显示新收到的短信的索引,但对我来说它保持空白。

AT+CNMI=1,1,0,0,0
确定

我试过从我的另一部手机接收短信。收到消息,但我在终端上看不到任何内存索引。

我主要从博客和通过 API 浏览中了解到这些。我也试过这个线程建议的方法。我做错了什么还是我错过了什么?

我完全愿意接受有关在 PC 中接收 SMS 的替代方案。请建议。

4

1 回答 1

0

哎呀,看起来不太好。AT 命令永远不应该1提供超过一个最终结果代码,因此让大量的OKs 后跟 anERROR绝对是不正确的。

有关进一步测试/调试的一些问题和建议:

  • 这是否也适用于 PDU 模式?

  • 这是否适用于所有不同的消息存储(检查AT+CPMS)?

  • 虽然您没有运行以 ATD 开始的数据呼叫,但设置<mode>为 2 是否有任何区别AT+CNMI

  • <bfr>论点说,当进入模式 1 到 3 时,将刷新未经请求的结果代码。在收到消息后(在您测试时),将模式短暂设置为 0,然后返回 1(或 2)是否有任何区别,从而强制进入应该输出所有缓冲指示的模式?

  • 您是否尝试过使用不同的操作系统?不同的终端程序?(这真的不应该有任何区别,但谁知道)

1 好吧,除了一个规格错误(见注 1)


有关了解更多关于 AT 命令的一般提示,请查看at-command 标签信息页面中的链接,特别是 27.005 中的消息命令(但如果您之前没有阅读过 V.250,请从那个开始)。

于 2014-01-15T21:30:45.187 回答