5373|4

577

帖子

9

TA的资源

纯净的硅(中级)

楼主
 

【DIY--手机】季夏木槿:与SIM900A的初次见面 [复制链接]

          这次DIY手机,用到的SIM900A是用AT指令进行通信的器件,之前从来没有接触过这方面的东西,怀一颗忐忑的心,不知道该怎么下手。从快递公司取回来模块后, 需要做的第一件事就是测试一下模块是不是可以正常工作。


      先用USB转串口模块将SIM900A模块和电脑连接好,然后按照AT指令手册用上位机发送了几条指令,就好像是向SIM900A大喊:喂~~你能听到我说话么?SIM900A模块很快作出反应:我听到了~~于是,上面机界面显示出来了反馈信息,这样的话,已经可以正常的和SIM900A模块进行通信了,那试试拨号功能。发送指令拨打10086,很顺利的听到了熟悉的声音:欢迎致电中国移动~~~~~然后一堆废话,这样的话,模块是没有问题了,接下来就是用MCU来控制它了。















       把它和单片机连起来。SIM900A模块和单片机的连接特别方便,因为用MCU的UART串行口,所以只需要两根数据线就可以了,即单片机的RXD、TXD分别和SIM900A模块的TXD.RXD相连接即可。
       







先进行最简单的测试---自动拨号
  1. //串行口初始化:波特率9600
  2. void init_UART(void)
  3. {
  4.         TMOD=0x20;//定时器1操作模式2:8位自动重载定时器
  5.         TH1=0xfd;//装入初值,波特率9600
  6.         TL1=0xfd;
  7.         TR1=1;//打开定时器
  8.         SM0=0;//设置串行通讯工作模式,(10为一部发送,波特率可变,由定时器1的溢出率控制)
  9.         SM1=1;//(同上)在此模式下,定时器溢出一次就发送一个位的数据
  10.         REN=1;//串行接收允许位(要先设置sm0sm1再开串行允许)
  11.         EA=1;//开总中断
  12.         ES=1;//开串行口中断       
  13. }
复制代码

先写一个简单的发送函数


  1. //串行口发送数据
  2. void Uart_Send_string(uchar *str)
  3. {
  4.         while(*str!='\0')
  5.         {
  6.                 SBUF=*str;
  7.                 while(!TI);//等待发送完成信号(TI=1)出现
  8.                 TI=0;
  9.                 str++;
  10.         }
  11. }
复制代码

自动拨号,进行最最简单的测试

  1. #include <REGX52.H>

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. //以下是开机后拨打的手机号
  5. uchar num[] = "ATD10086;\r";

  6. void main()
  7. {
  8. init_UAR();//串行口初始化:波特率9600
  9.         while(1)
  10.         {
  11. Uart_Send_string(num);     //自动拨号
  12.                 DelaySec(20);        //延时20秒
  13. Uart_Send_string("ATH\r"); //挂机
  14.                 DelaySec(5);         //延时5秒
  15.         }
  16. }
复制代码



        插入耳机,可以听到10086的声音,简单的测试就完成了。


         这只是最最简单的测试,什么都不用管,直接自动拨号然后挂断。但是,实际应用的话用单片机和SIM900A进行通信的话会是这么简单么??肯定不是,实际情况会比这复杂得多得多,欲知后事如何,请听下回分解吧~~~~








        








最新回复

不插卡可以拔打电话吗   详情 回复 发表于 2018-4-28 10:54
点赞 关注
个人签名哈喽,我是卡索KaSuo~~
 

回复
举报

1366

帖子

6

TA的资源

版主

沙发
 
看来楼主买的模块跟我一样的。。有调STM32的吗

点评

送的资料里不是有的么  详情 回复 发表于 2014-7-14 19:39
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 

回复

577

帖子

9

TA的资源

纯净的硅(中级)

板凳
 
RCSN 发表于 2014-7-14 16:11
看来楼主买的模块跟我一样的。。有调STM32的吗

送的资料里不是有的么
个人签名哈喽,我是卡索KaSuo~~
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

4
 
我买的是SIM900a,可是和楼主的不一样,,,,,,目前连AT指令都不回应我、、、、、、、

IMG_20151011_152258.jpg (859.15 KB, 下载次数: 0)

SIM900a

SIM900a

IMG_20151011_152309.jpg (927.23 KB, 下载次数: 0)

SIM900a

SIM900a

IMG_20151011_152311.jpg (918.36 KB, 下载次数: 0)

SIM900a

SIM900a
 
 
 

回复

189

帖子

0

TA的资源

一粒金砂(中级)

5
 
不插卡可以拔打电话吗
个人签名单片机软件/硬件交流群:127034610
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表