X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
DIY/开源硬件专区
[原创] 【DIY--手机】季夏木槿:与SIM900A的初次见面
季夏木槿
2014-7-12 16:46
楼主
这次DIY手机,用到的SIM900A是用AT指令进行通信的器件,之前从来没有接触过这方面的东西,怀一颗忐忑的心,不知道该怎么下手。从快递公司取回来
模块后,
需要做的第一件事就是测试一下模块是不是可以正常工作。
先用USB转串口模块将SIM900A模块和电脑连接好,然后按照AT指令手册用上位机发送了几条指令,就好像是向SIM900A大喊:喂~~你能听到我说话么?SIM900A模块很快作出反应:我听到了~~于是,上面机界面显示出来了反馈信息,这样的话,已经可以正常的和SIM900A模块进行通信了,那试试拨号功能。发送指令拨打10086,很顺利的听到了熟悉的声音:欢迎致电中国移动~~~~~然后一堆废话,这样的话,模块是没有问题了,接下来就是用MCU来控制它了。
把它和单片机连起来。
SIM900A模块和单片机的连接特别方便,因为用MCU的UART串行口,所以只需要两根数据线就可以了,即单片机的RXD、TXD分别和SIM900A模块的TXD.RXD相连接即可。
先进行最简单的测试---自动拨号
//串行口初始化:波特率9600
void init_UART(void)
{
TMOD=0x20;//定时器1操作模式2:8位自动重载定时器
TH1=0xfd;//装入初值,波特率9600
TL1=0xfd;
TR1=1;//打开定时器
SM0=0;//设置串行通讯工作模式,(10为一部发送,波特率可变,由定时器1的溢出率控制)
SM1=1;//(同上)在此模式下,定时器溢出一次就发送一个位的数据
REN=1;//串行接收允许位(要先设置sm0sm1再开串行允许)
EA=1;//开总中断
ES=1;//开串行口中断
}
先写一个简单的发送函数
//串行口发送数据
void Uart_Send_string(uchar *str)
{
while(*str!='\0')
{
SBUF=*str;
while(!TI);//等待发送完成信号(TI=1)出现
TI=0;
str++;
}
}
自动拨号,进行最最简单的测试
#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
//以下是开机后拨打的手机号
uchar num[] = "ATD10086;\r";
void main()
{
init_UAR();//串行口初始化:波特率9600
while(1)
{
Uart_Send_string(num); //自动拨号
DelaySec(20); //延时20秒
Uart_Send_string("ATH\r"); //挂机
DelaySec(5); //延时5秒
}
}
插入耳机,可以听到10086的声音,简单的测试就完成了。
这只是最最简单的测试,什么都不用管,直接自动拨号然后挂断。但是,实际应用的话用单片机和SIM900A进行通信的话会是这么简单么??肯定不是,实际情况会比这复杂得多得多,欲知后事如何,请听下回分解吧~~~~
哈喽,我是卡索KaSuo~~
点赞
回复评论 (4)
沙发
RCSN
看来楼主买的模块跟我一样的。。有调STM32的吗
1084534438 欢迎交流 [加油,一切皆有可能]
点赞
2014-7-14 16:11
板凳
季夏木槿
引用:
RCSN 发表于 2014-7-14 16:11
看来楼主买的模块跟我一样的。。有调STM32的吗
送的资料里不是有的么
哈喽,我是卡索KaSuo~~
点赞
2014-7-14 19:39
4楼
天才喵
我买的是SIM900a,可是和楼主的不一样,,,,,,目前连AT指令都不回应我、、、、、、、
点赞
2015-10-11 15:48
5楼
liushiming82
不插卡可以拔打电话吗
单片机软件/硬件交流群:127034610
点赞
2018-4-28 10:54
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
同轴供电:汽车应用设计指南
【pyboardCN V2】PWM呼吸灯&ADC&PWMDAC
威布尔分析工具的数据分析能力对比分析
关于无叶风扇
在KEIL中如何添加多个 .C文件
想转到嵌入式
刚写程序求助
请问怎样合理避税
MicroPython的uos文档中增加关于 littlefs 的说明
电子设计大赛之串口工具下载
关于兴森快捷做的Sate210-F金手指核心板的抗震能力测试结果
程控滤波器的设计 强烈推荐
wince 打印相关
dsp实验程序
关于deviceIOcontrol中的dwIoControlCode参数
三星7LPP EUV工艺又有大动作
Linux应用系统精讲
【新版CH554评测】使用开源编译器SDCC开发CH554
Windows mobile 透明/半透明控件组(皮肤控件)
32位定时/计数器、中断电路及其简单CPU硬核的EDA设计与实现,我的毕业设计
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复