5 c# gsm serial-port ussd at-command
我正在尝试使用华为 E1550 3G 调制解调器通过 USSD 检查 SIM 卡余额
但是当我总是发送
AT+CUSD=1,"*100#",15
Run Code Online (Sandbox Code Playgroud)
我得到
+CME Error: 100
Run Code Online (Sandbox Code Playgroud)
是的,我的调制解调器支持 USSD,因为我有一个用于调制解调器的仪表板应用程序,我可以检查余额并为 SIM 卡充电。
我在 C# 中使用 GSMComm 库,我也在 putty termainl 中尝试过,但一直遇到相同的错误
我搜索了错误 100,发现它是“未知错误”并没有真正的帮助:)
我也尝试在发送之前将文本模式更改为 pdu 模式,但没有任何改变
AT+CMGF=0
Run Code Online (Sandbox Code Playgroud)
注意:我也试过
AT+CUSD=1,"*100#"
Run Code Online (Sandbox Code Playgroud)
同样的错误
和的回应
AT+CUSD=?
Run Code Online (Sandbox Code Playgroud)
是
(0-2)
Run Code Online (Sandbox Code Playgroud)
更新
我已将请求“*100#”转换为 7 位“2A31303023”,如下所示
AT+CUSD=1,"2A31303023" ,15
Run Code Online (Sandbox Code Playgroud)
回复
+CUSD: 2
Run Code Online (Sandbox Code Playgroud)
我相信问题即将解决,但响应是什么意思?
您必须将消息编码为PDU格式
gsmcomm PDUConverter 可用于执行此操作
https://github.com/welly87/GSMComm/blob/master/PDUConverter/GsmComm.PduConverter/SmsPdu.cs