我有一台SIERRA Wireless FXT009 EDGE AirLink可编程调制解调器。我使用AT Commads拨打电话号码,这一切都很好用。我的问题是如何检测手机上的用户是否按下了按钮,我该如何接收按下了哪个按钮?甚至可以这样做吗?
我正在使用C#并通过串口与调制解调器通信。
设置
serialPort = new SerialPort();
serialPort.PortName = [Port];
serialPort.BaudRate = 9600;
serialPort.DataBits = 8;
serialPort.StopBits = StopBits.One;
serialPort.Parity = Parity.None;
serialPort.ReadTimeout = 300;
serialPort.WriteTimeout = 300;
serialPort.Encoding = Encoding.GetEncoding("iso-8859-1");
打开连接
serialPort.Open();
serialPort.DtrEnable = true;
serialPort.RtsEnable = true;
拨号
serialPort.Write("ATD[phoneNumber];\r");
计时器(500毫秒)
string result = connection.serialPort.ReadExisting();
if (!string.IsNullOrEmpty(result))
{
logTextBox.AppendText(result + "\n");
}
答案 0 :(得分:0)
我在 AT命令接口指南固件7.52 文档中找到了我的问题的解决方案。有一个AT命令(+ WDDM)可以打开/关闭DTMF检测模式。 我打开电话,现在我正在接听电话时按下的键。在两部手机上测试了0-9,*,#keys。