关于SIM900A模块的学习心得
目录
一、硬件的准备
1.外部供电连接方法
2.USB-TLL供电(这里不推荐)
3.单片机控制SIM900A发送短信
二、串口指令介绍
1.发送英文短信指令
2.发送中文短信指令
三、函数介绍
1.printf函数和fputc函数
2.strstr函数
3.sprintf函数
四、程序的实现原理
一、硬件的准备
首先SIM900A模块必不可少,然后还需要USB转TTL和外界的5v1a电源(用于给模块供电)。其次是一张移动电话卡(因为现在联通电信已经不支持2g)。
1.外部供电连接方法
模块5VR | USB-TTL TXD |
模块5VT | USB-TTL RXD |
模块GND | USB-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。
四、程序的实现原理
主要通过串口函数
的拓展进行输出字符串指令。
如
可以向串口发送字符串。
在此特别感谢博主 大屁桃
对我的指点
关于SIM900A模块的学习心得相关推荐
- 51SCM_AD模块CS5550学习心得
劳碌了两天,总算啃完了CS5550的Datasheet,途中遇到了不少问题,被卡到血都出来了,幸好得到了许多大牛的帮助,最后顺利解决.今天就把自己的一些小心得写出来和大家分享一下吧~ CS5550是一 ...
- Assembly学习心得
http://blog.csdn.net/etmonitor/ Assembly学习心得 说明: 最近开始准备把学到的.NET知识重新整理一遍,眼过千遍不如手过一遍,所以我准备记下我的学习心得,已备参 ...
- [转]verilog语法学习心得
verilog语法学习心得 1.数字电路基础知识: 布尔代数.门级电路的内部晶体管结构.组合逻辑电路分析与设计.触发器.时序逻辑电路分析与设计 2.数字系统的构成: 传感器 AD 数字处理器 D ...
- Linux同步自己的配置,Linux学习心得之——Rsync同步配置
Linux学习心得之--Rsync同步配置 1 使用软件 类unix系统下的数据镜像备份工具:rsync. 2 安装说明 2.1 获取rsync 下载最新版本的rsync-3.0.8.tar.gz 2 ...
- python心得体会-终于懂得python基础学习心得
为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...
- Java异常学习心得
2019独角兽企业重金招聘Python工程师标准>>> Java异常学习心得 本文重在Java中异常机制的一些概念.写本文的目的在于方便我很长时间后若是忘了这 ...
- JEPLUS学习心得之请假单功能的完成——JEPLUS软件快速开发平台
为什么80%的码农都做不了架构师?>>> JEPF软件快速开发平台学习心得之请假单功能的完成(一) 首先我也是点一次接触这个软件快速开发平台,我在学习这个平台的同时简单记录下我 ...
- 分享云及人工智能的一些学习资源和学习心得
很久没写新的东西了.这段时间除了适应新的工作,其他时间都献给了各种学习~ 在这个提倡终身学习的年代,面对急剧更新的IT行业,不学点云计算和人工智能啥的,总感觉会被时代抛弃. 所以,终于找到个空闲时间, ...
- 《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考
I will Make Impossible To I'm possible -----------LittleHann 看了2个多星期.终于把0DAY这本书给看完了,自己动手将书上的实验一个一个实现 ...
- Java入门1.2.3—一个老鸟的Java学习心得
Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...
最新文章
- python socket 通信
- java 第三方代码_Java:如何使用第三方库?
- 9.10 nohup:用户退出系统进程继续工作
- 4G内存服务器的MySQL配置优化
- ubuntu 两块硬盘挂载不上_win10 轉 Ubuntu
- java8新特性(6)— 日期与时间
- 基于MaxCompute 衣二三帮助客户找到合适自己的衣服
- 如何创建一个标准的Windows服务
- 【图像配准】基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法
- hadoop2.7.3用mapreduce计算pi值
- 计算机专业岗位细分及学习必备清单
- 设计窗freqz函数matlab,freqz函数
- 0x00000040指定的网络名不再可用怎么办?
- 深度学习技术在股票交易上的应用研究调查
- Android Studio开发(六)短距离无线通信——蓝牙通信
- 微信怎么防封几率大_域名被墙有哪些处理方法?域名被微信封了该怎么解决?
- 【C语言学习笔记】26. 指针(3)指向指针的指针、传递指针给函数
- 【图像识别】基于主成分分析算法实现人脸二维码识别matlab代码
- Ubuntu下无法使用add-apt-repository命令 白豆腐徐长卿
- 2010宅男腐女们的杯洗具签名
热门文章
- 配置activity-alias别名,更改app图标和名字
- xshell安装激活教程
- android真机调试工具,ADB 安卓真机调试工具
- mybatis3-中文文档
- cada0图纸框_CAD怎么画图纸框?cad图纸框的绘制方法
- shell 脚本案例
- amazon linux ami root 密码,Amazon Linux AMI 2015.09 (HVM)平台搭建lamp
- 信息学竞赛与 计算机科学,在信息学奥林匹克竞赛中我与学生共成长
- 宏想固态无法格式化,SM2258XT主控开卡成功经验,SM2259XT可参考
- 目标高盛,卡方科技用智能金融科技撬动国内量化投资