找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5579|回复: 2
打印 上一主题 下一主题
收起左侧

STM32 GSM模块测试实验 sim测试程序 ATK-SIM900A

[复制链接]
跳转到指定楼层
楼主
本实验功能简介:本实验用于测试ATK-SIM900A GSM/GPRS模块,总共包括三大项测试:
1,拨号测试—通过按KEY0按键进入此项测试。进入测试后,屏幕将虚拟一个键盘,通过键盘输入电话号码,即可进行拨号。如果有电话打进来,则会显示来电号码,并可以通过键盘实现来电接听。

2,短信测试—通过按KEY1按键进入此项测试。此项测试包含2个子项:读短信测试和发短信测试。按KEY0进入读短信测试,屏幕将显示SIM卡当前存储的信息条数以及总共可以存储的信息条数,并在屏幕上虚拟一个键盘,通过键盘输入,即可读取指定条目的短信,其内容将显示在LCD上面。按KEY1进入发短信测试,屏幕将显示一条固定的短信内容,并虚拟一个键盘,通过键盘输入目标手机号码,即可执行发送,将固定内容的短信发送给目标手机,并带状态提示。
3,GPRS测试—通过按WK_UP按键进入此项测试。此项测试又包含2个子项:TCP测试和UDP测试。默认为TCP连接,通过按WK_UP按键,可以在TCP/UDP之间切换。此项测试需要输入IP地址(要连接的目标IP地址,必须为公网IP),端口号固定为:8086。在设定好连接方式和IP地址之后,即可进行连接,连接成功后,则可以和目标进行GPRS数据通信。本测试,我们在电脑和ATK-SIM900A模块之间实验,电脑端需要一个软件:网络调试助手,来实现和模块的TCP/UDP数据通信测试。


本实验硬件连接方式(模块与开发板):
ATK-SIM900A              ALIENTEK STM32开发板
       STXD<------------>PA3(RXD)
       SRXD<------------>PA2(TXD)
        GND<------------>GND


注意事项:
1,该实验请自备:中国移动SIM卡一张(未停机,并开通GPRS业务)、耳机(带麦克风)一副、直流稳压电源1个。
2,使用ALIENTEK MiniSTM32开发板的朋友,该实验需要更新字库(字库存放方式类似战舰板,同Mini板的方式有区别,所以需要更新),请在SD卡:\SYSTEM\FONT 目录下存放:UNGBK.BIN,FONT12.BIN和FONT16.BIN等三个文件.这几个文件已经存放在Mini板的本例程工程目录下,大家只需要拷贝到SD卡即可(即将:SD卡根目录文件下的SYSTEM文件夹拷贝到SD卡根目录).



stm32单片机源程序:
  1. #include "sys.h"
  2. #include "usart.h"               
  3. #include "delay.h"        
  4. #include "led.h"            
  5. #include "key.h"                  
  6. #include "exti.h"                  
  7. #include "wdg.h"         
  8. #include "timer.h"                                   
  9. #include "lcd.h"
  10. #include "usmart.h"        
  11. #include "rtc.h"                  
  12. #include "wkup.h"        
  13. #include "dma.h"         
  14. #include "24cxx.h"         
  15. #include "flash.h"         
  16. #include "touch.h"         
  17. #include "malloc.h"
  18. #include "string.h"
  19. #include "mmc_sd.h"
  20. #include "ff.h"
  21. #include "exfuns.h"            
  22. #include "fontupd.h"
  23. #include "text.h"               
  24. #include "usart2.h"
  25. #include "sim900a.h"
  26. //ALIENTEK战舰STM32开发板扩展实验5
  27. //ATK-SIM900A GSM/GPRS模块测试实验  


  28. int main(void)
  29. {
  30.         u8 key,fontok=0;
  31.            Stm32_Clock_Init(9);        //系统时钟设置
  32.         delay_init(72);                        //延时初始化
  33.         uart_init(72,115200);         //串口1初始化
  34.         LCD_Init();                                //初始化液晶
  35.         LED_Init();                 //LED初始化         
  36.         KEY_Init();                                //按键初始化         
  37.         usmart_dev.init(72);        //usmart初始化        
  38.          USART2_Init(36,115200);        //初始化串口2
  39.         TP_Init();                                //初始化触摸屏
  40.         mem_init(SRAMIN);                //初始化内部内存池            
  41.          exfuns_init();                        //为fatfs相关变量申请内存  
  42.           f_mount(0,fs[0]);                 //挂载SD卡
  43.         key=KEY_Scan(0);  
  44.         if(key==KEY_RIGHT)                //强制校准
  45.         {
  46.                 LCD_Clear(WHITE);        //清屏
  47.                 TP_Adjust();                  //屏幕校准
  48.                 TP_Save_Adjdata();         
  49.                 LCD_Clear(WHITE);        //清屏
  50.         }
  51.         fontok=font_init();                //检查字库是否OK
  52.         if(fontok||key==KEY_DOWN)//需要更新字库                                 
  53.         {
  54.                 LCD_Clear(WHITE);                           //清屏
  55.                  POINT_COLOR=RED;                        //设置字体为红色                                
  56.                 LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
  57.                 while(SD_Initialize())                //检测SD卡
  58.                 {
  59.                         LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
  60.                         delay_ms(200);
  61.                         LCD_Fill(60,70,200+60,70+16,WHITE);
  62.                         delay_ms(200);                    
  63.                 }                                                                                                                     
  64.                 LCD_ShowString(60,70,200,16,16,"SD Card OK");
  65.                 LCD_ShowString(60,90,200,16,16,"Font Updating...");
  66.                 key=update_font(20,110,16,0);//从SD卡更新
  67.                 while(key)//更新失败               
  68.                 {                                          
  69.                         LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
  70.                         delay_ms(200);
  71.                         LCD_Fill(20,110,200+20,110+16,WHITE);
  72.                         delay_ms(200);                       
  73.                 }                  
  74.                 LCD_ShowString(60,110,200,16,16,"Font Update Success!");
  75.                 delay_ms(1500);        
  76.                 LCD_Clear(WHITE);//清屏               
  77.         }  
  78.         sim900a_test();
  79. }

  80. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

下载:
扩展实验5 ATK-SIM900A GSM模块测试实验.rar (800.23 KB, 下载次数: 68)
sim900a手册.pdf (1.96 MB, 下载次数: 16)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:182535 发表于 2019-3-10 09:26 | 只看该作者
学习学习
回复

使用道具 举报

板凳
ID:587075 发表于 2019-7-20 15:05 | 只看该作者
你好 程序能发一下吗
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表