如何知道你是否错过了AT命令中的来电

时间:2016-04-23 09:15:04

标签: serial-port putty at-command modem

我正在使用Putty模拟我的手机通过串口连接的调制解调器。当我的手机接到电话时,它会输出' RING'进入腻子,但当来电者取消通话时,Putty没有提出任何回应或结果。

调制解调器如何知道呼叫者断开/取消呼叫,但不在putty中输出?

谢谢

2 个答案:

答案 0 :(得分:2)

大多数调制解调器会在收到呼叫时显示来电号码和RING,并在取消呼叫时显示END。要查看未接来电,您可以使用以下AT命令。

AT+CPBS="MC"
AT+CPBR=1,99

第一个命令告诉调制解调器查看未接来电电话簿,第二个命令加载1到99之间的条目。请注意,这种行为不是标准的。我能够在GSM模块上复制它,但不能在我的3G调制解调器上复制。在您的调制解调器上尝试它并检查它是否有效。一切顺利。

答案 1 :(得分:2)

要检测未接来电,您可以尝试三件事。

检查是否有合适的text指示符可以打开。我认为AT+CIND不会这样做,因为我认为只有在接听电话时它才会转到call。如果您的手机支持1或类似的东西(您应该使用的话)(您必须实施逻辑以检测呼叫何时未进入状态)。

有关启用AT + CIND指标的示例,请参阅27.007中的“8.57信息性示例”一章以获取更多说明,并密切关注callsetup,例如The subparameter order in the command is defined by the query command order。 如果AT + CIND =?返回

+CIND: ("abc",(0-1)),("xyz",(0,1)),("call",(0,1))

然后调用是索引3,而

+CIND: ("abc",(0-1)),("call",(0,1)),("xyz",(0,1))

调用是索引2.在这里做硬编码任何假设,这应该被解析并检查运行时(一开始就检查一次就足够了)。

或者,您可以在RING开始使用AT+CLCC轮询通话状态,直到不再列出通话为止。

或者您可以轮询MC电话簿存储并检测更改。