在网上买了个stm32开发板和SIM800C模块板,整理一下模块发短信功能的学习笔记。忘大家勿喷,共勉!利用Unicode 字符集编码 ,发送下面的中英文短信。
(1) 接收号码: +8613316931709
(2) 短信内容: 欢迎使用飞思创 SIM800C 模块
(3) 发送的有效数据长度:43 ( 后面将会说明如何计算出该长度)
发送中英文短信所使用到的命令有: AT+CMGF 、 AT+CSMP 、 AT+CSCS 、AT+CMGS
其中的命令格式不再做详细介绍 , 请自行查看 AT 。注意的一点就是,命令后面记得加回车
只有发送结束符命令 0X1A 的后面不需要加回车。
操作步骤如下:
第一步:设置短信模式为文本模式,发送 AT+CMGF=1 ,模块会响应 OK 。
第二步:设置中英文模式,发送 AT+CSMP=17,167,1,8 , 模块会响应 OK 。
第三步:设置为 UCS2 字符集编码。 AT+CSCS=”UCS2”,模块会响应 OK 。
第四步:设置对方的手机号码。这时候要使用 Unicode 。
第五步:待模块响应出现“>”之后,才能发送短信内容。在发之前短信内容需要转换成 Unicode编码。短信内容为“欢迎使用飞思创SIM800C模块!”,转换后的Unicode编码 。注意图中编码间的间隔需要手动去除。
“6B228FCE4F7F752898DE601D521B00530049004D00380030003000436A215757FF01 ”
综合以上步骤,演示结果如下图所示:
输入1A不加回车把左下角十六进制发送打钩,点击手动发送。稍等几S会出现发送成功的返回信息。单片机程序设计中发送字符串”\r\n”。图中的+CMGS:54 ,表示发送第54条短信。
|