找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5582|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

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

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

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


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


注意事項:
1,該實驗請自備:中國移動SIM卡一張(未停機(jī),并開通GPRS業(yè)務(wù))、耳機(jī)(帶麥克風(fēng))一副、直流穩(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單片機(jī)源程序:
  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ā)板擴(kuò)展實驗5
  27. //ATK-SIM900A GSM/GPRS模塊測試實驗  


  28. int main(void)
  29. {
  30.         u8 key,fontok=0;
  31.            Stm32_Clock_Init(9);        //系統(tǒng)時鐘設(shè)置
  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相關(guān)變量申請內(nèi)存  
  42.           f_mount(0,fs[0]);                 //掛載SD卡
  43.         key=KEY_Scan(0);  
  44.         if(key==KEY_RIGHT)                //強(qiáng)制校準(zhǔn)
  45.         {
  46.                 LCD_Clear(WHITE);        //清屏
  47.                 TP_Adjust();                  //屏幕校準(zhǔn)
  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;                        //設(shè)置字體為紅色                                
  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黑下載附件…………
復(fù)制代碼

下載:
擴(kuò)展實驗5 ATK-SIM900A GSM模塊測試實驗.rar (800.23 KB, 下載次數(shù): 68)
sim900a手冊.pdf (1.96 MB, 下載次數(shù): 16)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表