如何使用" IRA"编码普通字符串编码模式?

时间:2015-04-11 12:45:49

标签: c#-4.0 gsm modem

最近我正在开发一个简单的应用程序来使用我的GSM调制解调器,我有一个问题,发送美元命令。 经过一些研究,我发现我的调制解调器日志,发现我的调制解调器发送此命令以获得平衡。

AT+CUSD=1,"AA182DA68A8D1A",15

我用我的应用程序发送了这个命令并得到了结果,它工作正常但是当我通过这个命令检查我的调制解调器编码模式时

AT+CSCS?

它返回此模式“IRA”,但我不知道如何将我的余额命令文本* 141 * 1#转换为此类型的字符串。

从调制解调器日志中我发现此字符串“AA182DA68A8D1A”是此“* 141 * 1#”的转换形式。

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或屏幕手动尝试。然后,您可以更好地了解最新情况,而无需与主机应用程序进行斗争。