最近正在使用u-blox的GPRS模块G100开发产品,刚刚解决了这个模块收发中英文短信的问题,这里简单介绍一下。
G100如果单纯的考虑英文短信,实际是很简单的,只需按照如下配置即可
AT+CMGF=1
AT+CSCS=”IRA”
AT+CSMP=17,167,0,0
读取短信:
AT+CMGR=1
+CMGR: "REC READ","13333366666",,"12/09/21,13:22:50+50"
LBS*000000
发送短信:
AT+CMGS="10086"
> 5F0059CB
1) 接收短信
但是如果考虑中文信息的接收,按照上面的配置,读取到的汉字都是?(0x3F),经过几次不同的尝试,我发现按照下面的配置就可以兼容同时接收中英文短信了(接收英文短信有点小麻烦,但是我可以处理这种小麻烦)
AT+CMGF=1
AT+CSCS=”UCS2”
AT+CSMP=17,167,0,0
读取英文短信:
AT+CMGR=1
+CMGR: "REC READ","13333366666“,,"12/09/21,13:22:50+50"
004C00420053002A003000300030003000300030 这里短信内容是:LBS*000000
这里接收到的英文内容都变成PDU格式的了,需要在程序中转换一下
读取中文短信:
AT+CMGR=1
+CMGR: "REC READ","13333366666",,"12/09/21,13:22:50+50"
5F0059CB 这里短信内容是:开始
2)发送短信,我这里没有采用PDU模式发送中文短信,都是采用的TXT模式,具体如下:
发送英文短信: 发送中文短信
AT+CMGF=1 AT+CMGF=1
AT+CSCS=”IRA” AT+CSCS=”UCS2”
AT+CSMP=17,167,0,0 AT+CSMP=17,167,0,8
AT+CMGS="13333366666" AT+CMGS="13333366666"
> 5F0059CB > 5F0059CB
收到短信 5F0059CB 收到短信 开始
文章评论(0条评论)
登录后参与讨论