关于SIM900A模块的学习心得

目录

一、硬件的准备

1.外部供电连接方法

2.USB-TLL供电(这里不推荐)

3.单片机控制SIM900A发送短信

二、串口指令介绍

1.发送英文短信指令

2.发送中文短信指令

三、函数介绍

1.printf函数和fputc函数

 2.strstr函数

3.sprintf函数

四、程序的实现原理


一、硬件的准备

首先SIM900A模块必不可少,然后还需要USB转TTL和外界的5v1a电源(用于给模块供电)。其次是一张移动电话卡(因为现在联通电信已经不支持2g)。

1.外部供电连接方法

模块5VRUSB-TTL TXD
模块5VTUSB-TTL RXD
模块GNDUSB-TTL GND
模块电源GND外接电源GND
模块电源VCC模块电源GND

注意模块的5VR对应的是USB-TTL的TXD (这样才能在串口助手上显示)

2.USB-TLL供电(这里不推荐)

不知道是我的usbttl原因还是其他原因 会出现1a发不出去的情况

连接方法:就是将上图中的白线去掉 黄绿两线接到USB-TTL上 绿线取代白线GND

3.单片机控制SIM900A发送短信

这里需要使用单片机的串口进行控制 我选择了串口一(发送工作过程信息)和串口三(发送指令)。

单片机 PB10 --- 模块 5VR
单片机 PB11 --- 模块 5VT 
单片机 GND  --- 模块 GND
模块的 VCC 接入 电源5V
模块的 GND 接入电源地

二、串口指令介绍

1, AT+CPIN?

该指令用于查询 SIM 卡的状态,主要是 PIN 码,如果该指令返回:+CPIN:READY,则表明 SIM 卡状态正常,返回其他值,则有可能是没有 SIM 卡。

2, AT+CSQ

该指令用于查询信号质量,返回 SIM900A 模块的接收信号强度,如返回:+CSQ: 24,0,表示信号强度是 24(最大有效值是 31)。如果信号强度过低,则要检查天线是否接好了?

3, AT+COPS?

该指令用于查询当前运营商,该指令只有在连上网络后,才返回运营商,否则返回空,如返回:+COPS:0,0, "CHINA MOBILE",表示当前选择的运营商是中国移动。

1.发送英文短信指令

AT+CSCS="GSM"
AT+CMGF=1
AT+CMGS="132******63"  //手机号码
>okokok                //信息内容
1A(勾选串口助手的16进制发送)

前四个需要勾选发送新行

2.发送中文短信指令


AT+CMGF=1
AT+CSCS="UCS2"
AT+CSMP=17,167,0,8          //表示普通文本模式
AT+CMGS="手机号码的Unicode编码"  
> 短信内容Unicode编码       //短信内容
1A              //表示发送

三、函数介绍

1.printf函数和fputc函数

要想实现printf发送到对应的串口中就需要修改fptuc函数

 2.strstr函数

strstr 函数原型: char * strstr(char * str1,char * str2);

功能就是找出在字符串str1中第一次出项字符串str2的位置(也就是说字符串sr1中要包含有字符串str2),找到就返回该字符串位置的指针(也就是返回字符串str2在字符串str1中的地址的位置)找不到就返回空指针(就是 null)。
————————————————
版权声明:本文为CSDN博主「leeonfield」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013298384/article/details/24839727

3.sprintf函数

sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。

将电话号码融入到这个指令字符串中给disbuf。

四、程序的实现原理

主要通过串口函数

 的拓展进行输出字符串指令。

 可以向串口发送字符串。


在此特别感谢博主 大屁桃

对我的指点

ATK-SIM900A模块介绍: ATK-SIM900A模块是 ALIENTEK推出的一款高性能工业级 GSM/GPRS模块 (开发板),接口丰富,功能完善,尤其适用于需要语言、短信、GPRS数据服务的各种领域。 ATK-SIM900A模块支持RS232串口和 LVTTL串口,并带硬件流控制。支持 5V~24V的超宽工作范围,使得本模块可以非常方便与您产品进行连接,从而给产品提供包括语音、短信和GPRS数据传输等功能。 SIM900A模块资料如截图: SIM900A模块原理图截图: SIM900A模块资料汇总截图: SIM900A模块资料具体说明: 模块原理图:模块原理图和封装库 程序源码:此目录包含所有正点原子STM32源码,分库函数和寄存器两个版本,请使用与开发板对应的源码即可。 配套软件:包括CH340 USB串口驱动,串口调试助手,汉字Unicode互换工具等开发过程中常用软件 SIM900A模块资料:SIM900A模块自身的一些官方资料 芯片数据手册:模块使用到的芯片的数据手册 SD卡根目录文件:使用正点原子STM32开发板发送中文短信需要把这个文件夹下面内容复制到SD卡根目录 其他参考资料:一些网络资料 DF文件: TK-SIM900A GSM(GPRS)模块用户手册_V1.1.pdf 这个文档非常重要,是模块介绍 ATK-SIM900A模块使用说明_ANxx.pdf 这个文档有几个版本,对应不同开发板。 ATK-SIM900(A)模块DTMF解码功能_AN1415.pdf:DTMF解码功能说明文档 ATK-SIM900(A)模块彩信功能_AN1414.pdf:彩信功能说明文档 ATK-SIM900(A)模块升级说明_AN1413.pdf :模块升级说明文档 ATK-SIM900A GSM模块常见问题汇总_20140805.pdf:这个文档是模块使用过程中常见问题解答。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值