找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5665|回復: 2
打印 上一主題 下一主題
收起左側

STM32 GSM模塊測試實驗 sim測試程序 ATK-SIM900A

[復制鏈接]
跳轉到指定樓層
樓主
ID:196121 發(fā)表于 2017-5-3 17:12 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本實驗功能簡介:本實驗用于測試ATK-SIM900A GSM/GPRS模塊,總共包括三大項測試:
1,撥號測試—通過按KEY0按鍵進入此項測試。進入測試后,屏幕將虛擬一個鍵盤,通過鍵盤輸入電話號碼,即可進行撥號。如果有電話打進來,則會顯示來電號碼,并可以通過鍵盤實現(xiàn)來電接聽。

2,短信測試—通過按KEY1按鍵進入此項測試。此項測試包含2個子項:讀短信測試和發(fā)短信測試。按KEY0進入讀短信測試,屏幕將顯示SIM卡當前存儲的信息條數(shù)以及總共可以存儲的信息條數(shù),并在屏幕上虛擬一個鍵盤,通過鍵盤輸入,即可讀取指定條目的短信,其內(nèi)容將顯示在LCD上面。按KEY1進入發(fā)短信測試,屏幕將顯示一條固定的短信內(nèi)容,并虛擬一個鍵盤,通過鍵盤輸入目標手機號碼,即可執(zhí)行發(fā)送,將固定內(nèi)容的短信發(fā)送給目標手機,并帶狀態(tài)提示。
3,GPRS測試—通過按WK_UP按鍵進入此項測試。此項測試又包含2個子項:TCP測試和UDP測試。默認為TCP連接,通過按WK_UP按鍵,可以在TCP/UDP之間切換。此項測試需要輸入IP地址(要連接的目標IP地址,必須為公網(wǎng)IP),端口號固定為:8086。在設定好連接方式和IP地址之后,即可進行連接,連接成功后,則可以和目標進行GPRS數(shù)據(jù)通信。本測試,我們在電腦和ATK-SIM900A模塊之間實驗,電腦端需要一個軟件:網(wǎng)絡調(diào)試助手,來實現(xiàn)和模塊的TCP/UDP數(shù)據(jù)通信測試。


本實驗硬件連接方式(模塊與開發(fā)板):
ATK-SIM900A              ALIENTEK STM32開發(fā)板
       STXD<------------>PA3(RXD)
       SRXD<------------>PA2(TXD)
        GND<------------>GND


注意事項:
1,該實驗請自備:中國移動SIM卡一張(未停機,并開通GPRS業(yè)務)、耳機(帶麥克風)一副、直流穩(wěn)壓電源1個。
2,使用ALIENTEK MiniSTM32開發(fā)板的朋友,該實驗需要更新字庫(字庫存放方式類似戰(zhàn)艦板,同Mini板的方式有區(qū)別,所以需要更新),請在SD卡:\SYSTEM\FONT 目錄下存放:UNGBK.BIN,FONT12.BIN和FONT16.BIN等三個文件.這幾個文件已經(jīng)存放在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戰(zhàn)艦STM32開發(fā)板擴展實驗5
  27. //ATK-SIM900A GSM/GPRS模塊測試實驗  


  28. int main(void)
  29. {
  30.         u8 key,fontok=0;
  31.            Stm32_Clock_Init(9);        //系統(tǒng)時鐘設置
  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);                //初始化內(nèi)部內(nèi)存池            
  41.          exfuns_init();                        //為fatfs相關變量申請內(nèi)存  
  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, 下載次數(shù): 68)
sim900a手冊.pdf (1.96 MB, 下載次數(shù): 16)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:182535 發(fā)表于 2019-3-10 09:26 | 只看該作者
學習學習
回復

使用道具 舉報

板凳
ID:587075 發(fā)表于 2019-7-20 15:05 | 只看該作者
你好 程序能發(fā)一下嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表