STM32F4 GSM800-C模块芯片资料及程序源码
实验器材:
阿波罗STM32F429开发板
实验目的:
学习ATK-SIM800C GSM模块的使用,学会短信收发、电话、GPRS、蓝牙通信等功能.
硬件资源:
1,DS0(连接在PB1)
2,串口1(波特率:115200,PA9/PA10连接在板载USB转串口芯片CH340上面)
3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模块(通过FSMC驱动,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个,杜邦线3根/直连RS232线一条(一公一母).
ATK-SIM800C模块与开发板连接方式1(通过3根杜邦线连接):
ATK-SIM800C STM32开发板
STXD<------------>PB11(RX)
SRXD<------------>PB10(TX)
GND<------------>GND
ATK-SIM800C模块与开发板连接方式2(通过RS232串口线连接):
ATK-SIM800C STM32开发板
RS232_COM<------------>COM3
实验现象:
本实验功能简介:本实验用于测试ATK-SIM800C 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-SIM800C模块之间实验,电脑端需要一个软件:
网络调试助手,来实现和模块的TCP/UDP数据通信测试。
4,蓝牙测试—通过先按KEY_2按键,然后按KEY0进入此项测试。此项测试又包含2个子项:发起配对请求和
接收配对请求模式的通信,按KEY2进入发起配对请求,然后通过扫描搜索到手机设备,建立连接后,手机端
打开蓝牙调试助手与模块再一次进行spp连接,然后手机看到模块发送的数据,屏幕也显示手机端发送过来的
数据。按KEY0进入接收配对请求模式,手机端连接搜索到模块设备,然后进行连接,spp的连接和数据通信和
前面的效果一样。
注意事项:
1,4.3寸和7寸屏需要比较大电流,USB供电可能不足,请用外部电源适配器(推荐外接12V 1A电源).
2,本例程在LCD_Init函数里面(在ILI93xx.c),用到了printf,如果不初始化串口1,将导致液晶无法显示!!
3,字库更新时,需自备标准SD卡一张(即大卡,也可以用TF卡+卡套).
4,字库更新,需自备SD卡一个,并拷贝光盘:6,SD卡根目录文件 对应使用板子下的,里面的所有内容到SD卡根目录,然后将SD卡插到开发板.
5,采用方式2(RS232线)连接的时候,需要用跳线帽短接:COM3_TX和PB11,COM3_RX与PB10!
6,如果触摸屏不准,请按住KEY0不放,然后按复位,松开复位,进入触摸屏校准。此时松开KEY0,执行校准,即可对屏幕进行校准。
7,该实验请自备:移动/联通GSM SIM卡一张(并开通GPRS)、耳机(带麦)一副、直流电源1个(电流要足够,5V/2A或12V/1A)
8,ATK-SIM800C模块,在按电源开关后,会亮电源灯,
若PKEY与VBAT跳线帽连接,则模块自动开机
若PKEY与VBAT跳线帽没有连接,则需长按PWR_KEY开机!!开机后,红色的NET会闪烁
9,本例程的详细说明,见光盘:9,增值资料\1,ALIENTEK 产品资料\4,ATK-SIM800C 模块\ATK-SIM800C模块使用说明(阿波罗F429)_AN1604E.pdf
单片机源程序如下:
- #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开发板 扩展实验17
- //ATK-SIM800C GSM/GPRS模块测试实验
-
- int main(void)
- {
- u8 key,fontok=0;
- Stm32_Clock_Init(360,25,2,8); //设置时钟,180Mhz
- delay_init(180); //初始化延时函数
- 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); //初始化内部内存池
- my_mem_init(SRAMEX); //初始化外部内存池
- my_mem_init(SRAMCCM); //初始化CCM内存池
- exfuns_init(); //为fatfs相关变量申请内存
- f_mount(fs[0],"0:",1); //挂载SD卡
- f_mount(fs[1],"1:",1); //挂载FLASH.
- key=KEY_Scan(0);
- if(key==KEY0_PRES) //强制校准
- {
- LCD_Clear(WHITE); //清屏
- TP_Adjust(); //屏幕校准
- TP_Save_Adjdata();
- LCD_Clear(WHITE); //清屏
- }
- fontok=font_init(); //检查字库是否OK
- if(fontok||key==KEY1_PRES) //需要更新字库
- {
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //设置字体为红色
- 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测试
- }
复制代码
所有资料51hei提供下载:
(寄存器版本,适合阿波罗STM32F429开发板)扩展实验17 ATK-SIM800C GSM模块实验.7z
(1.45 MB, 下载次数: 41)
|