通过 USSD 检查余额时出错



我一直在尝试通过 AT 命令从 3g 调制解调器检查我的余额,但似乎卡住了。

设备信息如下:

制造商:高通公司
型号: M6281
修订版本: SSD_M6281A-0.0.1 1 [Oct 02 2008 07:00:00]

调制解调器具有 USSD 功能(已公布,也存在于出厂安装的仪表板中)。

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

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

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

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

AT+CUSD=1,"",15 

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

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

AT+CSCS="GSM" // change character set to GSM
AT+CUSD=1,"*111#",15 // Issued balance check ussd code

它现在工作正常。

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

您是否尝试过通过 AT+CUSD=1,"*111#" 发出请求?(不带最后一个参数)由于制造商的实施,AT cmmands 有时会有所不同。

最新更新