最近我正在开发一个简单的应用程序来使用我的GSM调制解调器,我有一个问题,发送美元命令。 经过一些研究,我发现我的调制解调器日志,发现我的调制解调器发送此命令以获得平衡。
AT+CUSD=1,"AA182DA68A8D1A",15
我用我的应用程序发送了这个命令并得到了结果,它工作正常但是当我通过这个命令检查我的调制解调器编码模式时
AT+CSCS?
它返回此模式“IRA”,但我不知道如何将我的余额命令文本* 141 * 1#转换为此类型的字符串。
从调制解调器日志中我发现此字符串“AA182DA68A8D1A”是此“* 141 * 1#”的转换形式。
答案 0 :(得分:0)
首先,您在日志中看到的是一个十六进制字符串,描述了一个7位编码的USSD命令(有关7位的更多信息,请参阅3GPP的GSM 03.38)。
Binary 7-Bit Decoded 7-Bit
######### ######## #############
1 0101010 010 1010 *
00 011000 011 0001 1
001 01101 011 0100 4
1010 0110 011 0001 1
10001 010 010 1010 *
100011 01 011 0001 1
0001101 0 010 0011 #
000 1101 <CR>
有数百万种工具可以解码7-Bit,但在这里手动快速完成:)
USSD命令文本可以通过7位或UC-2编码,大多数调制解调器可以自己编写。因此,主机应用程序实际上只能以ascii发送USSD命令,调制解调器将解决问题。所以你只需要发送命令:
AT+CUSD=1,"*141*1#",15
通过telnet或屏幕手动尝试。然后,您可以更好地了解最新情况,而无需与主机应用程序进行斗争。