【发布时间】:2013-12-05 08:45:45
【问题描述】:
我正在尝试使用华为 E1550 3G 调制解调器通过 USSD 检查 SIM 卡余额
但是当我总是发送时
AT+CUSD=1,"*100#",15
我明白了
+CME Error: 100
是的,我的调制解调器支持 USSD,因为我有一个用于调制解调器的仪表板应用程序,我可以检查余额并为 SIM 卡充电。
我在 C# 中使用 GSMComm 库,我也在 putty termainl 中尝试过,但总是遇到同样的错误
我搜索了错误 100,发现它是“未知错误”,没有什么帮助:)
我也尝试在发送前将文本模式更改为 pdu 模式,但没有任何改变
AT+CMGF=0
注意: 我也试过了
AT+CUSD=1,"*100#"
同样的错误
和
的回应 AT+CUSD=?
是
(0-2)
更新
我已经像这样将请求“*100#”转换为7位“2A31303023”
AT+CUSD=1,"2A31303023" ,15
回复
+CUSD: 2
我认为问题即将解决,但响应是什么意思?
【问题讨论】:
-
对 AT+CUSD= 的响应是什么?您确定您的运营商支持 USSD 代码 *100#?
-
您是否尝试过 AT+CUSD=1,"*100#" 即没有将第三个参数设置为 15?另外,我假设 SIM 卡已解锁。
-
@SList 响应 AT+CUSD=?是 (0-2) 并且是尝试过的 at+cusd 没有第三个参数,我确定支持该代码
-
@SList 但你的意思是 SIM 卡已解锁?但我尝试了其他命令,如发送短信,一切正常
-
我的意思是,您已经输入了 PIN 码并解锁了 SIM 卡。只是试图消除明显的原因!很难从关于 SO 的问题中推断出人们的专业水平。并非所有移动运营商都使用相同的 USSD 字符串来检索余额,您知道吗?例如,在德国,Telekom、Vodafone 和 E Plus 使用 *100#,但 O2 使用另一个字符串。如果您已经知道这些点,那么这些点很烦人,但是您的 AT 命令是正确的,并且应该可以工作,因此可能是一些非常小的事情阻止了它的工作。
标签: c# serial-port gsm at-command ussd