我用SIM300搭建了一个模块。插了一张动感地带的卡在上面,来测试发短信
先开始发的是GSM格式的字符短信 指令如下:
AT+CSCS="GSM"
OK
AT+CMGF=1
OK
AT+CMGS="15846821234"
>1234
+CMGS: 55
OK
上面的号码是我手机的号码,能正常收到短信。显示为123
然后开始发UCS2格式的中文短信 指令如下:
AT+CSCS="UCS2"
OK
AT+CMGF=1
OK
AT+CMGS="00310035003800340036003800320031003200330034"
>4F60597D (中文是你好的意思)
+CMGS: 56
OK
这个时候手机也能收到短信,但是打开发现里面什么也没有是空短信后来又试了还多次都一样
第二天公司给了张神州行的卡给我,我试了一下发现能正常发送中文短信,高兴的要死。当时也没太注意。过了几天再次测试的时候UCS2的中文短信能正常发送,但是发GSM的字符短信的时候接受的空短信。晕死,于是我把我上次测试的那张动感地带的卡插进去试了试发现还是和以前一样,能发GSM格式的短信不能发UCS2格式的。刚好和神州行的反过来了。
这是怎么搞的啊。。。。。。
你大爷这不是耍我么,谁能找出原因立即散分
------解决方案--------------------------------------------------------
发送UCS2格式短信的时候AT+CMGF需要设置为0.
------解决方案--------------------------------------------------------
哈哈,终于知道问题出在什么地方了。
除了要设置 AT+CSCS="GSM" 以外还要设置 AT+CSMP=17,167,0,0这里最后一位设置成0就可以正常收发GSM格式的短信了。如果设置成25再把AT+CSCS设置成"UCS2"正常收发"UCS2"格式的短信了。晕倒。。。。。。。。。。。。。