|
STM32F4 GSM800-C模塊芯片資料及程序源碼
實(shí)驗(yàn)器材:
阿波羅STM32F429開發(fā)板
實(shí)驗(yàn)?zāi)康?
學(xué)習(xí)ATK-SIM800C GSM模塊的使用,學(xué)會(huì)短信收發(fā)、電話、GPRS、藍(lán)牙通信等功能.
硬件資源:
1,DS0(連接在PB1)
2,串口1(波特率:115200,PA9/PA10連接在板載USB轉(zhuǎn)串口芯片CH340上面)
3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模塊(通過FSMC驅(qū)動(dòng),FSMC_NE1接LCD片選/A18接RS),或者RGB接口的4.3/7寸液晶屏
4,按鍵KEY0(PH3)/KEY1(PH2)/KEY2(PC13)/KEY_UP(PA0,也稱之為WK_UP)
5,SD卡,通過SDIO(SDIO_D0~D3(PC8~PC11),SDIO_SCK(PC12),SDIO_CMD(PD2))連接
6,W25Q256(SPI FLASH芯片,連接在SPI5上)
7,24C02
9,ATK-SIM800C GSM模塊1個(gè),杜邦線3根/直連RS232線一條(一公一母).
ATK-SIM800C模塊與開發(fā)板連接方式1(通過3根杜邦線連接):
ATK-SIM800C STM32開發(fā)板
STXD<------------>PB11(RX)
SRXD<------------>PB10(TX)
GND<------------>GND
ATK-SIM800C模塊與開發(fā)板連接方式2(通過RS232串口線連接):
ATK-SIM800C STM32開發(fā)板
RS232_COM<------------>COM3
實(shí)驗(yàn)現(xiàn)象:
本實(shí)驗(yàn)功能簡介:本實(shí)驗(yàn)用于測試ATK-SIM800C GSM/GPRS模塊,總共包括四大項(xiàng)測試:
1,撥號測試—通過按KEY0按鍵進(jìn)入此項(xiàng)測試。進(jìn)入測試后,屏幕將虛擬一個(gè)鍵盤,通過鍵盤輸入電話號碼
,即可進(jìn)行撥號。如果有電話打進(jìn)來,則會(huì)顯示來電號碼,并可以通過鍵盤實(shí)現(xiàn)來電接聽。
2,短信測試—通過按KEY1按鍵進(jìn)入此項(xiàng)測試。此項(xiàng)測試包含2個(gè)子項(xiàng):讀短信測試和發(fā)短信測試。按KEY0
進(jìn)入讀短信測試,屏幕將顯示SIM卡當(dāng)前存儲的信息條數(shù)以及總共可以存儲的信息條數(shù),并在屏幕上虛擬一
個(gè)鍵盤,通過鍵盤輸入,即可讀取指定條目的短信,并且語音報(bào)讀,其內(nèi)容將顯示在LCD上面。按KEY1進(jìn)入
發(fā)短信測試,屏幕將顯示一條固定的短信內(nèi)容,并虛擬一個(gè)鍵盤,通過鍵盤輸入目標(biāo)手機(jī)號碼,即可執(zhí)行發(fā)
送,將固定內(nèi)容的短信發(fā)送給目標(biāo)手機(jī),并帶狀態(tài)提示。
3,GPRS測試—通過按WK_UP按鍵進(jìn)入此項(xiàng)測試。此項(xiàng)測試又包含2個(gè)子項(xiàng):TCP測試和UDP測試。默認(rèn)為TCP
連接,通過按WK_UP按鍵,可以在TCP/UDP之間切換。此項(xiàng)測試需要輸入IP地址(要連接的目標(biāo)IP地址,必
須為公網(wǎng)IP),端口號固定為:8086。在設(shè)定好連接方式和IP地址之后,即可進(jìn)行連接,連接成功后,則
可以和目標(biāo)進(jìn)行GPRS數(shù)據(jù)通信。本測試,我們在電腦和ATK-SIM800C模塊之間實(shí)驗(yàn),電腦端需要一個(gè)軟件:
網(wǎng)絡(luò)調(diào)試助手,來實(shí)現(xiàn)和模塊的TCP/UDP數(shù)據(jù)通信測試。
4,藍(lán)牙測試—通過先按KEY_2按鍵,然后按KEY0進(jìn)入此項(xiàng)測試。此項(xiàng)測試又包含2個(gè)子項(xiàng):發(fā)起配對請求和
接收配對請求模式的通信,按KEY2進(jìn)入發(fā)起配對請求,然后通過掃描搜索到手機(jī)設(shè)備,建立連接后,手機(jī)端
打開藍(lán)牙調(diào)試助手與模塊再一次進(jìn)行spp連接,然后手機(jī)看到模塊發(fā)送的數(shù)據(jù),屏幕也顯示手機(jī)端發(fā)送過來的
數(shù)據(jù)。按KEY0進(jìn)入接收配對請求模式,手機(jī)端連接搜索到模塊設(shè)備,然后進(jìn)行連接,spp的連接和數(shù)據(jù)通信和
前面的效果一樣。
注意事項(xiàng):
1,4.3寸和7寸屏需要比較大電流,USB供電可能不足,請用外部電源適配器(推薦外接12V 1A電源).
2,本例程在LCD_Init函數(shù)里面(在ILI93xx.c),用到了printf,如果不初始化串口1,將導(dǎo)致液晶無法顯示!!
3,字庫更新時(shí),需自備標(biāo)準(zhǔn)SD卡一張(即大卡,也可以用TF卡+卡套).
4,字庫更新,需自備SD卡一個(gè),并拷貝光盤:6,SD卡根目錄文件 對應(yīng)使用板子下的,里面的所有內(nèi)容到SD卡根目錄,然后將SD卡插到開發(fā)板.
5,采用方式2(RS232線)連接的時(shí)候,需要用跳線帽短接:COM3_TX和PB11,COM3_RX與PB10!
6,如果觸摸屏不準(zhǔn),請按住KEY0不放,然后按復(fù)位,松開復(fù)位,進(jìn)入觸摸屏校準(zhǔn)。此時(shí)松開KEY0,執(zhí)行校準(zhǔn),即可對屏幕進(jìn)行校準(zhǔn)。
7,該實(shí)驗(yàn)請自備:移動(dòng)/聯(lián)通GSM SIM卡一張(并開通GPRS)、耳機(jī)(帶麥)一副、直流電源1個(gè)(電流要足夠,5V/2A或12V/1A)
8,ATK-SIM800C模塊,在按電源開關(guān)后,會(huì)亮電源燈,
若PKEY與VBAT跳線帽連接,則模塊自動(dòng)開機(jī)
若PKEY與VBAT跳線帽沒有連接,則需長按PWR_KEY開機(jī)。¢_機(jī)后,紅色的NET會(huì)閃爍
9,本例程的詳細(xì)說明,見光盤:9,增值資料\1,ALIENTEK 產(chǎn)品資料\4,ATK-SIM800C 模塊\ATK-SIM800C模塊使用說明(阿波羅F429)_AN1604E.pdf
單片機(jī)源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "key.h"
- #include "usmart.h"
- #include "sdram.h"
- #include "malloc.h"
- #include "w25qxx.h"
- #include "sdio_sdcard.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "fontupd.h"
- #include "text.h"
- #include "touch.h"
- #include "usart3.h"
- #include "sim800c.h"
- //ALIENTEK 阿波羅STM32F429開發(fā)板 擴(kuò)展實(shí)驗(yàn)17
- //ATK-SIM800C GSM/GPRS模塊測試實(shí)驗(yàn)
-
- int main(void)
- {
- u8 key,fontok=0;
- Stm32_Clock_Init(360,25,2,8); //設(shè)置時(shí)鐘,180Mhz
- delay_init(180); //初始化延時(shí)函數(shù)
- uart_init(90,115200); //初始化串口1波特率為115200
- usart3_init(45,115200); //初始化串口3波特率為115200
- usmart_dev.init(90); //初始化USMART
- LED_Init(); //初始化與LED連接的硬件接口
- SDRAM_Init(); //初始化SDRAM
- LCD_Init(); //初始化LCD
- KEY_Init(); //初始化按鍵
- W25QXX_Init(); //初始化W25Q256
- tp_dev.init(); //初始化觸摸屏
- my_mem_init(SRAMIN); //初始化內(nèi)部內(nèi)存池
- my_mem_init(SRAMEX); //初始化外部內(nèi)存池
- my_mem_init(SRAMCCM); //初始化CCM內(nèi)存池
- exfuns_init(); //為fatfs相關(guān)變量申請內(nèi)存
- f_mount(fs[0],"0:",1); //掛載SD卡
- f_mount(fs[1],"1:",1); //掛載FLASH.
- key=KEY_Scan(0);
- if(key==KEY0_PRES) //強(qiáng)制校準(zhǔn)
- {
- LCD_Clear(WHITE); //清屏
- TP_Adjust(); //屏幕校準(zhǔn)
- TP_Save_Adjdata();
- LCD_Clear(WHITE); //清屏
- }
- fontok=font_init(); //檢查字庫是否OK
- if(fontok||key==KEY1_PRES) //需要更新字庫
- {
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //設(shè)置字體為紅色
- LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
- while(SD_Init()) //檢測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); //清屏
- }
- sim800c_test(); //GSM測試
- }
復(fù)制代碼
所有資料51hei提供下載:
(寄存器版本,適合阿波羅STM32F429開發(fā)板)擴(kuò)展實(shí)驗(yàn)17 ATK-SIM800C GSM模塊實(shí)驗(yàn).7z
(1.45 MB, 下載次數(shù): 41)
2022-12-15 16:00 上傳
點(diǎn)擊文件名下載附件
|
|