资源简介
gsm模块 串口发送AT指令,基于stm32f1做的,完全可以使用。
代码片段和文件信息
#include “sys.h“
#include “delay.h“
#include “usart.h“
#include “led.h“
#include “lcd.h“
#include “sim900a.h“
#include “key.h“
#include “usart3.h“
/******************************************************************************
* 本程序只供学习使用,未经作者许可,不得用于其它任何用途
* ALIENTEK STM32F4开发板扩展实验4-补充实验(具体详细实验请参考具体实验)
* ATK-SIM900A GSM/GPRS通信模块测试实验-库函数版本 补充实验
* 正点原子@ALIENTEK
* 技术支持论坛:www.openedv.com
* 淘宝店铺: http://eboard.taobao.com
* 版权所有,盗版必究 Copyright(C) 广州市星翼电子科技有限公司 2009-2019
* All rights reserved
******************************************************************************/
/****************************************************************************
*测试注意事项:请把下面的宏定义标识符MSISDN的值修改为您要拨打的电话号码**********
****************************************************************************/
#define MSISDN “10086“ //测试的接受短信和电话的手机号码
//查看SIM900A模块的状态。
//返回值:
// 1: 发送AT指令出错
// 2: SIM卡出错。
// 3: 查询不到运营商
u8 sim900a_check_status(){
if(sim900a_send_cmd(“AT““OK“200)) return 1;//发送AT指令,判断返回是否是OK。
if(sim900a_send_cmd(“AT+CPIN?““OK“200)) return 2;// 检查SIM卡失败。。。没有插入SIM卡。
if(sim900a_send_cmd(“AT+CGMI““OK“200))return 3;//查询不到运营商;
return 0;
}
//SIM900A拨号测试
//其中sprintf是字符串格式化函数
//sprintf函数使用请参考http://baike.baidu.com/view/1295144.htm
u8 sim900a_call_test(u8* msisdn)
{
u8 status=0;
char cmd[20];
status=sim900a_check_status();
if(status) return status;
if(sim900a_send_cmd(“AT+CLIP=1““OK“200))return 4; //设置来电显示
if(sim900a_send_cmd(“AT+COLP=1““OK“200))return 5; //设置被叫号码显示
sprintf((char*)cmd“ATD%s;“msisdn);//命令格式:ATDXXXX;
if(sim900a_send_cmd((u8*)cmd“+COLP:“200)) return 6;//拨号失败
return 0;
}
//SIM900a挂机函数。
void sim900a_hangup_call()
{
sim900a_send_cmd(“ATH““OK“200);//挂机
}
//SIM900A发英文短信测试。
//NOTE:此函数只能发送英文短信
//其中sprintf是字符串格式化函数
//sprintf函数使用请参考http://baike.baidu.com/view/1295144.htm
u8 si900a_sms_test(u8* msisdn)
{
u8 status=0;
char cmd[20];
status=sim900a_check_status();
if(status) return status;
if(sim900a_send_cmd(“AT+CMGF=1““OK“200))return 4; //设置文本模式
if(sim900a_send_cmd(“AT+CSCS=\“GSM\“““OK“200))return 5; //设置TE字符集为UCS2
sprintf((char*)cmd“AT+CMGS=\“%s\““msisdn);//命令格式:AT+CMGS=“XXX“
if(sim900a_send_cmd((u8*)cmd“>“200))return 6; //设置短消息文本模式参数
u3_printf(“%s““Dear userThis is a test message from atk-sim900a module.“);//发送短信内容到GSM模块
if(sim900a_send_cmd((u8*)0X1A“+CMGS:“1000)) return 7;//发送结束符
return 0;
}
/****************************************************************************
* 1. 测试注意事项:请把上面的宏定义标识符MSISDN的值修改为您要拨打的电话号码
* 2. 此测试程序液晶显示界面只是提醒操作的作用。
* 3. 装好SIM卡,启动模块之后,等待液晶显示:SIM Card Ready之后进行如下操作:
* 按下KEY0按键:发送短信到指定号码(宏标识符MSISDN定义的号码)
* 按下KEY1按键:拨打指定号码
* 按下KEY2按键:挂断正在拨打的电话
****************************************************************************/
int main(void)
{
u8 key=0status=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-22 15:50 M660\
目录 0 2018-01-22 15:49 M660\1\
目录 0 2018-01-22 15:49 M660\1\Louis_SIM908 代码\
目录 0 2018-01-22 15:49 M660\1\Louis_SIM908 代码\FATFS\
目录 0 2018-01-22 15:49 M660\1\Louis_SIM908 代码\FATFS\doc\
文件 2815 2012-07-25 00:19 M660\1\Louis_SIM908 代码\FATFS\doc\css_e.css
文件 3177 2012-07-25 00:19 M660\1\Louis_SIM908 代码\FATFS\doc\css_j.css
目录 0 2013-08-13 21:10 M660\1\Louis_SIM908 代码\FATFS\doc\en\
目录 0 2018-01-22 15:49 M660\1\Louis_SIM908 代码\FATFS\doc\img\
文件 1414 2011-09-02 22:10 M660\1\Louis_SIM908 代码\FATFS\doc\img\f1.png
文件 1458 2007-02-10 03:12 M660\1\Louis_SIM908 代码\FATFS\doc\img\f2.png
文件 1039 2007-02-10 03:12 M660\1\Louis_SIM908 代码\FATFS\doc\img\f3.png
文件 2335 2008-01-05 20:27 M660\1\Louis_SIM908 代码\FATFS\doc\img\f4.png
文件 2479 2008-01-05 20:27 M660\1\Louis_SIM908 代码\FATFS\doc\img\f5.png
文件 1436 2010-08-21 10:13 M660\1\Louis_SIM908 代码\FATFS\doc\img\f6.png
文件 2401 2009-03-20 21:57 M660\1\Louis_SIM908 代码\FATFS\doc\img\la
文件 2379 2009-06-13 21:48 M660\1\Louis_SIM908 代码\FATFS\doc\img\la
文件 19068 2008-10-18 19:31 M660\1\Louis_SIM908 代码\FATFS\doc\img\rwtest.png
文件 8153 2010-09-13 10:55 M660\1\Louis_SIM908 代码\FATFS\doc\img\rwtest2.png
文件 3011 2009-06-15 00:03 M660\1\Louis_SIM908 代码\FATFS\doc\img\rwtest3.png
目录 0 2013-08-13 21:10 M660\1\Louis_SIM908 代码\FATFS\doc\ja\
文件 4007 2011-09-06 00:07 M660\1\Louis_SIM908 代码\FATFS\doc\updates.txt
目录 0 2018-01-22 15:49 M660\1\Louis_SIM908 代码\FATFS\src\
文件 6505 2011-09-06 00:06 M660\1\Louis_SIM908 代码\FATFS\src\00readme.txt
文件 4001 2013-08-13 22:54 M660\1\Louis_SIM908 代码\FATFS\src\diskio.c
文件 2438 2011-01-03 21:11 M660\1\Louis_SIM908 代码\FATFS\src\diskio.h
文件 141694 2012-02-22 20:36 M660\1\Louis_SIM908 代码\FATFS\src\ff.c
文件 14378 2013-08-22 11:05 M660\1\Louis_SIM908 代码\FATFS\src\ff.h
文件 11647 2013-08-15 22:54 M660\1\Louis_SIM908 代码\FATFS\src\ffconf.h
文件 856 2010-04-24 23:45 M660\1\Louis_SIM908 代码\FATFS\src\integer.h
目录 0 2018-01-22 15:49 M660\1\Louis_SIM908 代码\FATFS\src\option\
............此处省略1341个文件信息
相关资源
- 基于STM32的数码电子相册
- STM32F103移植FreeModbus实现modbus主机.zi
- stm32各种原理图和PCB集锦Altium Designe
- 麦克纳姆轮程序.rar
- 基于STM32F103C8T6的循迹避障小车完成
- STM32单片机指纹识别系统的设计
- STM32用链表实现多级菜单
- 华为 GTM900才模块资料大全
- 基于STM32F07单片机风洞程序
- 正点原子Mini开发板的RC522刷卡程序触
- 三菱PLC_FX3U_v8.0.zip
- STM32F1单片机MPU6050加速度计陀螺仪驱动
- STM32F1单片机MS5611高精度气压计驱动工
- 郭天祥的GSM与51单片机通信程序一
- 华为助力约旦Umniah增长GSM用户数量
- STM32 3.5固件库带sdio版本V4.5.0 bug修改
- 基于STM32+TM1638芯片的共阳极数码管驱
- 畅学系列STM32开发板实验箱8位独立按
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- STM32使用模拟IIC实现24C02读取
- STM32L476 FreeRTOS系统移植项目
- STM32F030C8 寄存器操作 OELD屏
- 畅学STM32多功能实验箱DS1302时钟芯片源
- 基于Nucleo-F302R8板一起玩转电机库SDK
- STM32+DHT11+OLED+RTC+MQ2+NRF24L01+串口12
- STM32 7寸TFT驱动
- GSM GPRS Modem USB驱动
- STM32+BC20通过HTTP传输GPS北斗定位到湖畔
- Atollic_TrueSTUDIO_for_STM32_v9.0.1_20180420-1
评论
共有 条评论