资源简介

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\layers.png
     文件        2379  2009-06-13 21:48  M660\1\Louis_SIM908 代码\FATFS\doc\img\layers3.png
     文件       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个文件信息

评论

共有 条评论