微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > GPRS模块发送信息代码

GPRS模块发送信息代码

时间:11-17 来源:互联网 点击:
#include

//SIM300测试灯接口

sbit LED_S0= P1^7;
sbit LED_S1= P1^6;
sbit LED_S2= P1^5;

//BELL接口
sbit BELL= P1^4; //这里以P1.4口的LED指示灯代替蜂鸣器接口
sbit LED_S7= P1^0; //AT+CPIN命令失败

//串口接收数组
#define RxIn 90//定义接收的数组长度为90
unsigned char idata SystemBuf[RxIn]; //储存出口接收数据
unsigned char Rx=0;

//AT指令表
unsigned char code AT[]="AT";//握手信号
unsigned char code ATZ[]="ATZ";//设备初始化
unsigned char code ATE0V1[]="ATE0V1";//关回显设置命令返回OK/V1 0/V0
unsigned char code AT_IPR[]="AT+IPR=9600"; //波特率设置
unsigned char code AT_CPIN[]="AT+CPIN?";//查询SIM卡状态
unsigned char code AT_CSQ[] ="AT+CSQ";//查询信号
unsigned char code ATH[]="ATH";//呼叫挂起
unsigned char code AT_COPS[]="AT+COPS?";//查询网络运营商
unsigned char code AT_CDSNORIP[]="AT+CDNSORIP=0";//GPRS IP 方式
unsigned char code AT_CIPHEAD[]="AT+CIPHEAD=1"; //GPRS 接收方式
unsigned char code AT_CIPSTART[]="AT+CIPSTART=\"TCP\",\"218.109.58.100\",\"2003\"";//GPRS连接方式\GPRS连接地址(根据用户实际IP修改)\GPRS连接的端口
unsigned char code AT_CIPSEND[]="AT+CIPSEND";//GPRS发送信息命令
unsigned char code AT_CIPCLOSE[]="AT+CIPCLOSE";//TCP连接关闭
unsigned char code AT_CIPSHUT[]="AT+CIPSHUT";//GPRS连接关闭
unsigned char code ATA[]="ATA";//来电接听

//定时TIMER0用
unsigned int timercount;//50MS定时器,
unsigned char timer_1S_cnt;
unsigned char timer_10S_cnt;
unsigned char timer_S_cnt;

//SIM300函数声明
void Delay_ms(unsigned i);

void UART_init(void);
void GSM_init(void);
void sendchar(unsigned char ch);
void sendstring(unsigned char *p);
void sys_init(void);
void clear_SystemBuf(void);
void BELL_UP(void);
unsigned char strsearch(unsigned char *ptr2,unsigned char *ptr1_at);//查字符串*ptr2在*ptr1中的位置

//延时函数
void delayms(unsigned int ii)//1ms延时函数
{
unsigned int i,x;
for (x=0;x{
for (i=0;i<100;i++);
}
}

void delay(unsigned int i)
{
while(i!=0)
{
i--;
}
}

/*********************************************************************
** 函数名称: strsearch ()
** 函数功能: 在指定的数组里连续找到相同的内容
** 入口参数: ptr2要查找的内容, ptr1当前数组
** 出口参数: 0-没有 找到 >1 查找到
*********************************************************************/
unsigned char strsearch(unsigned char *ptr2,unsigned char *ptr1_at)//查字符串*ptr2在*ptr1中的位置
//本函数是用来检查字符串*ptr2是否完全包含在*ptr1中
//返回: 0 没有找到
//1-255 从第N个字符开始相同
{
unsigned char i,j,k;
unsigned char flag;
if(ptr2[0]==0) return(0);
flag=0;
for(i=0,j=0;i{
if(ptr1_at[i]==ptr2[j])
{//第一个字符相同
for(k=i;k{
if(ptr2[j]==0)//比较正确
return(i+1); //返回值是整数,不含0
if(ptr1_at[k]!=ptr2[j]) break;
}
j=0;
}
}
return(0);
}
/******************************************************************************************************************
//////////////////////函数void BELL();实现功能:////////////////////////////////////////////////////////////////////
*****************************************************************************************************************/
void BELL_UP()
{
BELL=0;
Delay_ms(2000);
BELL=1;
Delay_ms(2000);
}
/******************************************************************************************************************
//////////////////////函数void sendchar(uchar ch);实现功能:发送一字节数据//////////////////////////////////////////
*****************************************************************************************************************/
void sendchar(unsigned char ch)
{
SBUF=ch;
while(TI==0);
TI=0;
}
/*****************************************************************************************************************
//////////////////////函数void sendstring(uchar *p);实现功能:通过串口发送字符串//////////////////////////////////
*****************************************************************************************************************/
void sendstring(unsigned char *p)
{
while(*p)
{
sendchar(*p);
p++;
}
sendchar(0x0D);
sendchar(0x0A);
}
/*****************************************************************************************************************
////////////////////////////////函数void Delay_ms(unsigned int i);实现功能:进行毫秒延时///////////////////////////////////
*****************************************************************************************************************/
void Delay_ms(unsigned int i)
{
unsigned int j;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top