我一直在使用 sim900 模块为嵌入式项目复制基本手机中的许多功能。除了在语音通话期间输入选项外,我在大多数功能上都取得了成功。我实际上正在寻找通用解决方案(例如 GSM 07.07 等),尽管我使用的 GSM/GPRS 模块是 sim900。
场景:我使用 发起呼叫ATD<number>;
,然后自动语音要求我拨“1”作为选项。如何发送“1”?
我一直在寻找答案。我一遍又一遍地阅读AT命令手册。请帮忙。
我一直在使用 sim900 模块为嵌入式项目复制基本手机中的许多功能。除了在语音通话期间输入选项外,我在大多数功能上都取得了成功。我实际上正在寻找通用解决方案(例如 GSM 07.07 等),尽管我使用的 GSM/GPRS 模块是 sim900。
场景:我使用 发起呼叫ATD<number>;
,然后自动语音要求我拨“1”作为选项。如何发送“1”?
我一直在寻找答案。我一遍又一遍地阅读AT命令手册。请帮忙。
使用官方 GSM 规范的良好开端,虽然我想指出很久以前07.07 已被27.007取代,您应该使用该文档(或 27.005,如果相关)。
我最初预计有两种方法可以实现这一点,拨号字符串修饰符或 DTMF 命令,但我在 27.007 规范中查找拨号字符串,我没有找到我期待的p
(暂停)修饰符1,最近的事情是W
( wait) 修饰符被忽略,仅出于兼容性考虑。
使用DTMF发送0
through 9
、A
throughD
和在通话期间完成*
,尽管在 GSM 网络中,这在带外单独发出信号,而不是发送带内模拟音调。有一个用于发送 DTMF 音调的特定命令称为(使用可怕的语法)。所以这个命令就是你问题的答案。从在线命令模式或从另一个串行连接调用它。#
AT+VTS
1我期待一个p
修饰符存在的原因是我能够在电话簿条目中输入一个,例如“12345678p123”,它将拨打 12345678,等待连接建立,然后发送 123 作为 DTMF 音调。但这显然是(仅)用户界面语音呼叫处理程序管理的东西,而不是 AT 命令处理程序。