资源简介
1.按下KEY1键可以发送一条TEXT英文短信,短信发送成功后就会点亮相应的LED。
2.按键和LED对应的端口,请参考程序。
代码片段和文件信息
/**************************************************************
果云科技 GA6 模块
51 单片机例程
KEY1 : 发送TEXT模式的短信
本例程使用11.0592MHZ时钟---->必须为11.0592M
串口设置为:96008n1.
技术支持: 杜工
******************************************/
#include
#include “string.h“
#include “GA6_module_errors.h“
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
/************* 本地常量声明 **************/
#define Buf_Max 70 //串口1缓存长度
#define STABLE_TIMES 10 //等待上电后稳定,再进行自适应波特率
/************* 本地变量声明 **************/
//串口1发送回车换行
#define UART1_SendLR() UART1_SendData(0X0D);UART1_SendData(0X0A)
/*LED端口定义*/
sbit LED0 = P1^0;
sbit LED1 = P1^1;
sbit LED2 = P1^2;
sbit LED3 = P1^3;
sbit LED4 = P1^4;
sbit LED5 = P1^5;
sbit LED6 = P1^6;
sbit LED7 = P1^7;
/*KEY端口定义*/
sbit KEY0 = P2^4;
sbit KEY1 = P2^5;
sbit KEY2 = P2^6;
sbit KEY3 = P2^7;
/************* 本地变量声明 **************/
xdata u8 Uart1_Buf[Buf_Max];
u8 First_Int = 0;
static u8 *phone_num = “AT+CMGS=\“15815522222\““; //拨打电话,修改这里可以修改拨打的电话。
u16 count_20ms;
/************* 本地函数声明 **************/
void delay_ms(u16 ms); //延时ms个20ms ms*20ms
void CLR_Buf(void); //清串口接收缓存
u8 Find(u8 *a); //查找字符串
void UART1_SendData(u8 dat); //串口1发送 1字节
void UART1_SendString(char *s);//串口1发送 字符串
void UART1_Send_Command(char *s);
u8 UART1_Send_AT_Command(u8 *bu8 *au8 wait_timeu16 interval_time);//at命令发送
u8 UART1_Send_AT_Command_END(u8 *bu8 *au8 wait_timeu16 interval_time);
u8 Wait_CREG(u8 query_times);
void Timer0Init(void) //20毫秒@115200
{
TMOD &= 0xF0;
TMOD |= 0x01; //
TL0 = (65536-20000)%256; //
TH0 = (65536-20000)/256; //
TF0 = 0; //
ET0 = 1; //
TR0 = 1; //开始计时
}
void Uart1Init(void) //9600bps@11.05926MHz
{
PCON &= 0x7F; //
SCON = 0x50; //
TMOD &= 0x0F; //
TMOD |= 0x20; //
TL1 = 0xFD; //
TH1 = 0xFD; //
ET1 = 0; //
TR1 = 1; //
ES = 1; //
}
int check_status(void)
{
int ret;
ret = UART1_Send_AT_Command(“AT““OK“350);//测试通信是否成功
if(ret == 0)
{
return COMMUNITE_ERROR;
}
ret = UART1_Send_AT_Command(“AT+CPIN?““READY“250);//查询卡是否插上
if(ret == 0)
{
return NO_SIM_CARD_ERROR;
}
ret = Wait_CREG(3);//查询卡是否注册到网络
if(ret == 0)
{
return SIM_CARD_NO_REG_ERROR;
}
return 1;
}
/***************************************************************
注:当然你可以返回其他值,来确定到底是哪一步发送指令出现失败了。
****************************************************************/
int send_text_message(char *content)
{
u8 ret;
char end_char[2];
end_char[0] = 0x1A;//结束字符
end_char[1] = ‘\0‘;
//设置存储位置
ret = UART1_Send_AT_Command(“AT+CPMS=\“SM\“\“ME\“\“SM\“““OK“3100);
if(ret == 0)
{
return AT_CPMS_ERROR;
}
ret = UART1_Send_AT_Command(“AT+CMGF=1““OK“350);//配置为TEXT模式
if(ret == 0)
{
return AT_CMGF_ERROR;
}
ret = UART1_Send_AT_Command(“AT+CSCS=\“GSM\“““OK
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-06-17 19:18 3.发送TEXT英文短信\
目录 0 2017-07-30 11:10 3.发送TEXT英文短信\C语言\
文件 455 2017-06-17 14:32 3.发送TEXT英文短信\C语言\GA6_module_errors.h
文件 9164 2017-07-30 11:03 3.发送TEXT英文短信\C语言\main.c
文件 20390 2017-07-30 11:10 3.发送TEXT英文短信\C语言\main.LST
文件 19826 2017-07-30 11:10 3.发送TEXT英文短信\C语言\main.OBJ
文件 3130 2016-10-25 18:08 3.发送TEXT英文短信\C语言\UART1.LST
文件 18416 2017-06-02 21:52 3.发送TEXT英文短信\C语言\UART1.M51
文件 1012 2014-04-11 20:24 3.发送TEXT英文短信\C语言\UART1.opt.bak
文件 1984 2014-04-11 15:12 3.发送TEXT英文短信\C语言\UART1.Uv2.bak
文件 70790 2017-07-30 11:10 3.发送TEXT英文短信\C语言\UART1.uvgui.Administrator
文件 71327 2017-06-17 19:10 3.发送TEXT英文短信\C语言\UART1.uvgui.dupenghui
文件 76677 2016-11-10 11:44 3.发送TEXT英文短信\C语言\UART1.uvgui.Shinelon
文件 76911 2016-11-09 22:40 3.发送TEXT英文短信\C语言\UART1.uvgui_Shinelon.bak
文件 6191 2017-07-30 11:10 3.发送TEXT英文短信\C语言\UART1.uvopt
文件 13787 2017-07-30 11:10 3.发送TEXT英文短信\C语言\UART1.uvproj
文件 44 2016-10-25 18:08 3.发送TEXT英文短信\C语言\UART1.__i
文件 1013 2014-04-11 20:21 3.发送TEXT英文短信\C语言\UART1_Opt.Bak
文件 2064 2013-05-28 21:12 3.发送TEXT英文短信\C语言\UART1_Uv2.Bak
文件 16990 2017-07-30 11:10 3.发送TEXT英文短信\C语言\发送TEXT英文短信
文件 987 2017-07-30 11:10 3.发送TEXT英文短信\C语言\发送TEXT英文短信.build_log.htm
文件 4927 2017-07-30 11:10 3.发送TEXT英文短信\C语言\发送TEXT英文短信.hex
文件 52 2017-07-30 11:10 3.发送TEXT英文短信\C语言\发送TEXT英文短信.lnp
文件 21594 2017-07-30 11:10 3.发送TEXT英文短信\C语言\发送TEXT英文短信.M51
文件 110 2017-06-17 19:19 3.发送TEXT英文短信\程序说明.txt
目录 0 2017-06-17 19:27 4.发送PDU短信\
目录 0 2017-07-30 11:10 4.发送PDU短信\C语言\
文件 441 2017-06-11 19:02 4.发送PDU短信\C语言\GA6_module_errors.h
文件 9323 2017-07-30 10:57 4.发送PDU短信\C语言\main.c
文件 20607 2017-07-30 10:57 4.发送PDU短信\C语言\main.LST
文件 19709 2017-07-30 10:57 4.发送PDU短信\C语言\main.OBJ
............此处省略73个文件信息
相关资源
- 基于LINUX与GPRS网络的无线数据采集与
- 华为 GTM900才模块资料大全
- 一个用C写很不错的GPRS的PDU编码程序
- GSM GPRS Modem USB驱动
- SIM7600CE-4G模块资料.rar
- 基于北斗/GPS双星和GSM/GPRS通信的车辆
- linux下面使用SIM300模块发送GPRS短信的
- GA6 gprs模块 51单片机 程序
- 温度、一氧化碳、二氧化碳、PM2.5以及
- STM32F单片机与SIM900A的硬件条件下读一
- HUAWEI MG323
- Air202 硬件设计手册
- gprsprotel仿真
- STM32的SIM900A的GPRS数据传输
- 灵期通讯软件
- GPRS编程DTU资料
- stm32f407 GPRS通信源码
- ucos+sim908+GPRS+GPS
- GPRS 模块 原理图
- 移远通信国网4G模块资料
- STM32实现GPRS与服务器数据传输
- GPRS数据采集上位机软件
- STM32平台GPS定位器源码
- LTE重要协议规范--3gpp TS 23.401
- stm32f1+sim800c全部代码GPRS短信电话等
- 基于STM32、SIM900A、UCOSII的GPRS DTU
- GSM网络与GPRS.pdf
- STM32F4-SIM900A模块GPRS功能使用精简例程
- GPRS GA6模块使用教程
- HT32f53252使用DHT11+光强+oled+gprs
评论
共有 条评论