?? gprs.c
字號:
#include "inc/lcd.h"
#include "inc/Uart.h"
#include "inc/lib.h"
#include "inc/GPRS.h"
#include "inc/reg2410.h"
void GPRS_Init()
{
//Uart_Init(2,9600);//設置開發平臺的串口1波特率
LCD_printf("\n");
LCD_printf(" / : Send short message\n");
LCD_printf(" * : Call the number.\n");
LCD_printf(" - : Ring off. \n");
LCD_printf(" + : Pick up. \n");
//下面選擇通道1,使用帶麥克的耳機
GPRS_Cmd("AT+CHFA=1\n"); //設置通話通道為1
//hudelay(1000);
GPRS_Cmd("AT+CLVL=100\n");//設置受話器音量最大
//hudelay(1000);
GPRS_Cmd("AT+CMIC=1,10\n");//設置通道1的話筒增益
// hudelay(1000);
//下面選擇通道0,使用普通電話話柄
/* GPRS_Cmd("AT+CHFA=0\n"); //設置通話通道為0
hudelay(1000);
GPRS_Cmd("AT+CLVL=100\n");//設置受話器音量最大
hudelay(1000);
GPRS_Cmd("AT+CMIC=0,10\n");//設置通道0的話筒增益
hudelay(1000);*/
}
void GPRS_HOLD()
{GPRS_Cmd("AT\n");
hudelay(1000);
GPRS_Cmd("ATH\n");//發送掛機命令ATH
}
void GPRS_ANSWER()
{ GPRS_Cmd("AT\n");
hudelay(1000);
GPRS_Cmd("ATA\n");//發送接聽命令ATA
}
void GPRS_CALL(char *number)
{ GPRS_Cmd("AT\n");
hudelay(5000);
GPRS_Cmd("AT\n");
hudelay(5000);
GPRS_Cmd("ATD"); //發送撥打命令ATD
GPRS_Cmd(number);
GPRS_Cmd(";\n");
}
void GPRS_MGS(char *number,char *text) //發送短信
{ GPRS_Cmd("AT\n");
hudelay(5000);
GPRS_Cmd("AT\n");
hudelay(5000);
GPRS_Cmd("AT+CMGF=1\n"); //發送修改字符集命令
hudelay(10000);
GPRS_Cmd("AT+CMGS="); //發送發短信命令,具體格式見手冊
//Uart_SendByten(2,34);//發送引號
GPRS_Cmd("\"");
GPRS_Cmd(number);
GPRS_Cmd("\"");
//Uart_SendByten(2,34);//發送引號
GPRS_Cmd("\n");
hudelay(10000);
GPRS_Cmd(text);
hudelay(5000);
//Uart_SendByte(2,26); //“CTRL+Z"的ASCII碼
Uart_SendByten(2,26); //“CTRL+Z"的ASCII碼
}
void GPRS_Cmd(char *pt)//串口發送命令字符串并等待回顯
{int i=0,j;
char ch[1],cnt,full,xh;
while(1)
{ if(pt[i]=='\0')break;
if(pt[i]=='\n')Uart_SendByten(2,'\r');
else Uart_SendByten(2,pt[i]);
/*while(pt[i]){
Uart_SendByten(2,pt[i]);
i++;
}*/
hudelay(1000);
Uart_Getch(ch,2,0);
if (ch[0]=='\r')Uart_SendByten(0,'\n');
//else Uart_SendByten(0,ch[0]);
Uart_SendByten(0,ch[0]);
if (ch[0]=='\r')LCD_printf("\n");
else LCD_printf("%c",ch[0]);
i++;
}
hudelay(1000);
/*cnt=rUFSTAT2&0xf;
full=rUFSTAT2&0x100;
if(full)
xh=16;
else
xh=cnt;
for(j=xh;j>0;j--)*/
while(LSR&0x1)
{Uart_Getch(ch,2,0);
Uart_SendByten(0,ch[0]);
if (ch[0]=='\r')
{LCD_printf("\n");
Uart_SendByten(0,'\n');
}
else
LCD_printf("%c",ch[0]);
}
// bUART(2, oUFCON) |= 1<<1;
}
extern unsigned short up,count;
void GPRS_KeyUartPoll()//回顯模塊送回的信息
{ char ch[1];
unsigned short cnt,full,xh,i;
/*while((up==0)&&(count==0))
{ cnt=rUFSTAT2&0xf;
full=rUFSTAT2&0x100;
if(full)
xh=16;
else
xh=cnt;
for(i=xh;i>0;i--)
{Uart_Getch(ch,2,0);
Uart_SendByten(0,ch[0]);
if (ch[0]=='\r')LCD_printf("\n");
else LCD_printf("%c",ch[0]);
}
} */
while(LSR&0x1)
{Uart_Getch(ch,2,0);
Uart_SendByten(0,ch[0]);
if (ch[0]=='\r')LCD_printf("\n");
else LCD_printf("%c",ch[0]);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -