通过USSD检查余额时出错

And*_*set 2 modem putty ussd at-command 3g

我一直试图通过AT命令从3g调制解调器检查我的余额,似乎被卡住了.

设备信息如下:

制造商:QUALCOMM INCORPORATED
型号:M6281
修订版:SSD_M6281A-0.0.1 1 [2008年10月02日07:00:00]

调制解调器具有USSD功能(广告并出现在工厂安装的仪表板中).

我通过putty连接到COM4串口,这是我的调制解调器应用程序端口.所有AT命令都正常工作,但我通过putty发出以下错误:

AT+CUSD=1,"*111#",15
Run Code Online (Sandbox Code Playgroud)

这会返回一个简单的"错误".*111#是我的运营商的余额检查代码.我怀疑在某处有格式化错误,但我无法弄清楚在哪里.

注意:如果我发出空白的ussd命令:

AT+CUSD=1,"",15 
Run Code Online (Sandbox Code Playgroud)

然后我得到一个OK(虽然我后来得到一个响应+ CME ERROR:重试操作)...但是如果我在引号内写任何东西,它会返回一个"错误".

And*_*set 7

好的,我终于找到了解决这个问题的方法.显然,编码存在问题.这是我做的:

AT+CSCS="GSM" // change character set to GSM
AT+CUSD=1,"*111#",15 // Issued balance check ussd code
Run Code Online (Sandbox Code Playgroud)

它现在工作正常.

默认编码是UCS2,如果有人可以分享如何在putty中将ussd代码转换为UCS2编码,我将不胜感激.