使用 AT 命令与 GSM 调制解调器通信

Communicating with GSM modem with AT Command

我正在尝试通过 c# 中的串行端口与 GSM 调制解调器通信。

到目前为止我已经能够连接它,向它发送AT命令并发送短信。

对于短信发送,我正在发送以下 AT 命令

AT+CMGF=1 /* set text mode */

AT+CMGS=8801911xxxxxx 

"hellp msg "+ (char)26

它按预期工作。

但是对于发送USSD消息,

我正在尝试

AT+CMGF=0 /* PDU mode */
AT+CUSD=1,*121# , 15

但是没有返回任何响应。

我试过GSMCOMM库,也没有反应。

我试过将文本转换为 PDU,还是不行。

那么我如何通过串口将 C# 中的 USSD 消息发送到调制解调器并获得响应?

你应该像这样发送 USSD 命令:

AT+CUSD=1,"*121#",15

另请注意AT+CMGF仅影响短信发送,不影响 USSD。

您可能还想查看 this answer

像这样发送 USSD 命令:

sp.Write("AT+CUSD=1,\"*710#\",15\r");