标签:
stm32 sms pdu text 编码
昨天把原理图整理好了之后,发现其实这个系统关键部分应该在GSM的短信收发这块。如果熟悉了stm32的一些使用之后,再来对tc35i的短信收发做个大体的说明和以下短信基本知识好了。
首先来看看短信的基本编码方式
目前通过mcu控制gsm模块收发短信有2中主要方式,基于at命令的text格式和pdu格式。(最初还有被block mode的,现在基本上被pdu取代了,逐步退出历史舞台了。)
1、text模式
所谓text模式就是通查个你所说的文本模式,这种模式对于初学者来说比较容易搞懂短信的收发。
具体at命令如下:
1、1设置发送模式-text模式
at+cmgf=1(回车,换行)
如果设置成功,会返回 OK的。
这里说明一下,每次发送at命令的时候,结尾一定要加一个回车换行符,要不然,模块不会认识这个at命令。
1、2 然后发送短信
AT+CMGS=“+8613xxxxxxxxx”回车
>输入短消息。Crtl+Z 结束并发送。
说明:13xxxxxxxxx是接收方手机号码,输入发送短信at命令之后,会让你接着输入短信你内容(在超级终端进行的,不能输入中文,中文编码以后再说),然后以Crtl+Z结束。如果发送完成了,会返回
+CMGS: 01
OK
哈哈,是不是发现手机模块发送短信很方便?
2、下面再说说重点pdu模式把
pdu模式是发送或接收手机SMS 消息的一种方法,消息正文经过十六进制编码后进行传送。所以,pdu进行发送和接受,比text模式麻烦很多。
2.1 基本pdu的at命令
基本的PDU 命令是AT+CMGR,AT+CMGL,AT+CMGS。例如读取电话上全部未读过的SMS 消息,最简单的办法是用AT+CMGL=0;而用AT+CMGL=4 则可读取全部SMS 消息,无论已读过与否。
2.2 pdu读取短信
at+cmgf=0(回车换行)(这个设置成pdu模式)
然后发送at+cmgr=1(回车换行)(如果有短信,表示读取第一条短信)
返回如下值:
AT+CMGR=2+CMGR: 1,,35
0891683108200705F0040BA13178512534F4000850103101934220106CA14E8B002C0020660E5929518D8BF4
OK
0891后面一串数字就是我们pdu编码,需要解析的内容很多哦。
短信涉及到的东西很多,在本文不能详细解读,以后会慢慢介绍的。
系统分类:
单片机 | 用户分类:
STM32学习 | 来源:
原创 | 【推荐给朋友】 | 【添加到收藏夹】