本實驗功能簡介:本實驗用于測試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單片機源程序:
- #include "sys.h"
- #include "usart.h"
- #include "delay.h"
- #include "led.h"
- #include "key.h"
- #include "exti.h"
- #include "wdg.h"
- #include "timer.h"
- #include "lcd.h"
- #include "usmart.h"
- #include "rtc.h"
- #include "wkup.h"
- #include "dma.h"
- #include "24cxx.h"
- #include "flash.h"
- #include "touch.h"
- #include "malloc.h"
- #include "string.h"
- #include "mmc_sd.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "fontupd.h"
- #include "text.h"
- #include "usart2.h"
- #include "sim900a.h"
- //ALIENTEK戰艦STM32開發板擴展實驗5
- //ATK-SIM900A GSM/GPRS模塊測試實驗
- int main(void)
- {
- u8 key,fontok=0;
- Stm32_Clock_Init(9); //系統時鐘設置
- delay_init(72); //延時初始化
- uart_init(72,115200); //串口1初始化
- LCD_Init(); //初始化液晶
- LED_Init(); //LED初始化
- KEY_Init(); //按鍵初始化
- usmart_dev.init(72); //usmart初始化
- USART2_Init(36,115200); //初始化串口2
- TP_Init(); //初始化觸摸屏
- mem_init(SRAMIN); //初始化內部內存池
- exfuns_init(); //為fatfs相關變量申請內存
- f_mount(0,fs[0]); //掛載SD卡
- key=KEY_Scan(0);
- if(key==KEY_RIGHT) //強制校準
- {
- LCD_Clear(WHITE); //清屏
- TP_Adjust(); //屏幕校準
- TP_Save_Adjdata();
- LCD_Clear(WHITE); //清屏
- }
- fontok=font_init(); //檢查字庫是否OK
- if(fontok||key==KEY_DOWN)//需要更新字庫
- {
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //設置字體為紅色
- LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
- while(SD_Initialize()) //檢測SD卡
- {
- LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
- delay_ms(200);
- LCD_Fill(60,70,200+60,70+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,70,200,16,16,"SD Card OK");
- LCD_ShowString(60,90,200,16,16,"Font Updating...");
- key=update_font(20,110,16,0);//從SD卡更新
- while(key)//更新失敗
- {
- LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
- delay_ms(200);
- LCD_Fill(20,110,200+20,110+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,110,200,16,16,"Font Update Success!");
- delay_ms(1500);
- LCD_Clear(WHITE);//清屏
- }
- sim900a_test();
- }
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
擴展實驗5 ATK-SIM900A GSM模塊測試實驗.rar
(800.23 KB, 下載次數: 68)
2017-5-3 17:11 上傳
點擊文件名下載附件
sim900a手冊.pdf
(1.96 MB, 下載次數: 16)
2017-5-4 01:46 上傳
點擊文件名下載附件
|