在 C# 中将 USSD 代码发送到调制解调器并始终返回错误

Rob*_*bia 3 c# modem decode ussd at-command

我通过串行端口在调制解调器上发送 USSD 代码。但它总是给出错误响应。

我发送的 AT 命令是: 按顺序:

serialPort.Write("AT+CMGF=0" + "\r\n");
serialPort.Write("AT+CUSD=1,\"*135#\"" + "\r\n");
Run Code Online (Sandbox Code Playgroud)

当我在第一个 AT 命令中配置消息格式时,它给出“OK”响应。但在发送 USSD 代码时,响应始终为“错误”。为什么会这样呢?

小智 6

不要\n在命令末尾使用,仅使用\r.

CUSD命令的形式为:AT+CUSD=1,"*135#",15.

在 C# 中应该是:

serialPort.Write("AT+CMGF=0" + "\r");
serialPort.Write("AT+CUSD=1,\"*135#\",15" + "\r");
Run Code Online (Sandbox Code Playgroud)