亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gprs_q2403.c

?? ARM9.rar
?? C
字號:
/****************************************************************************
【文  件  名  稱】GPRS_Q2403.C
【功  能  描  述】三星S3C2410A板demo程序代碼
【程  序  版  本】4.0
【創建人及創建日期】icesoar//2002年11月19日19:26
【修改人及修改日期】icesoar//2004-12-8 17:25
****************************************************************************/

//***************************************************************************
#include "def.h"
#include "2410addr.h"
#include "config.h"
#include "board.h"
#include "utils.h"

//***************************************************************************

#define	RX_BUF_SIZE		1024
static char rx_buf[RX_BUF_SIZE];
static U16 rx_buf_head, rx_buf_tail;

#define	RX_BUF_EMPTY()	(rx_buf_head==rx_buf_tail)
#define	RX_BUF_INC()	(rx_buf_head = (rx_buf_head+1)&(RX_BUF_SIZE-1));
#define	RX_BUF_DEC()	(rx_buf_tail = (rx_buf_tail+1)&(RX_BUF_SIZE-1));


//串口1接收中斷處理
static void __irq Uart1RxInt(void)
{
    ClearSubPending(BIT_SUB_RXD1); //rSUBSRCPND = BIT_SUB_RXD0;          //Clear pending bit (Requested)
    ClearPending(BIT_UART1);

	//printf("URT1 rx interrupt!\n");
	rx_buf[rx_buf_head] = RdURXH1();
	RX_BUF_INC();
	if(RX_BUF_EMPTY())
		RX_BUF_DEC();
}

static void Echo_Rx_Data(void)
{
	while(!RX_BUF_EMPTY()) {
		putch(rx_buf[rx_buf_tail]);
		RX_BUF_DEC();
	}
}

/****************************************************************************
【功能說明】串口發送命令字符串并等待回顯
****************************************************************************/
void GPRS_Cmd( char *pt )
{	
	int i=0;
//	char ch[1];

	while( pt[i] )
	{
		SerialSwitch( 1 ) ;		//選擇UART通道為串口1
	
		//if( pt[i]=='\n' )		SerialTxChar('\r');
		SerialTxChar( pt[i] );

		SerialSwitch( 0 ) ;		//選擇UART通道為串口0
	
		i++;
	}
	
	Delay(10);
	Echo_Rx_Data();
}

/****************************************************************************
【功能說明】回顯模塊送回的信息
****************************************************************************/
void GPRS_KeyUartPoll()
{
	char ch[1];

	//while( getkey() != ESC_KEY )
	{
		if(rUTRSTAT1 & 0x1)
		{
			SerialSwitch( 1 ) ;		//選擇UART通道為串口1
			//ch[0] = SerialRxChar() ;
			ch[0] = SerialRxKey();
			SerialSwitch( 0 ) ;		//選擇UART通道為串口0
			//SerialTxChar( ch[0] );
			if(ch[0])
				printf("%c", ch[0]);
		}
	}
}

/****************************************************************************
【功能說明】設置開發平臺的串口1波特率
****************************************************************************/
void Test_GPRS_Init()
{ 
	printf("Initialize GPRS modem...\n");
	
	rGPGCON &= ~((3<<4)|(3<<12));
	rGPGCON |= (1<<4)|(1<<12);
	rGPGDAT &= ~(1<<2);
	rGPGDAT &= ~(1<<6);
	
	rGPHCON |= 0xf<<12;		//RTS1, CTS1
    rGPHUP  |= 3<<6;		//Uart port pull-up disable

	SerialChgBaud( 115200 ) ;
		
	rx_buf_head = rx_buf_tail = 0;

   	pISR_UART1 = (U32)Uart1RxInt;		//串口接收數據中斷
	ClearSubPending(BIT_SUB_RXD1);
	ClearPending(BIT_UART1);
	EnableSubIrq(BIT_SUB_RXD1);
	EnableIrq(BIT_UART1);

	GPRS_Cmd("AT\n");
	Delay(500);
//	GPRS_Cmd("AT\n");
//	Delay(500);

//下面選擇通道1,使用帶麥克的耳機
	GPRS_Cmd("AT+SPEAKER=1\n"); //設置通話通道為1
	Delay(500);
	GPRS_Cmd("AT+VGR=255\n");//設置受話器音量最大
	Delay(500);
	GPRS_Cmd("AT+VGT=255\n");//設置通道1的話筒增益
	Delay(500);

//下面選擇通道0,使用普通電話話柄
/*
	GPRS_Cmd("AT+CHFA=0\n"); //設置通話通道為0
	Delay(1000);
	GPRS_Cmd("AT+CLVL=100\n");//設置受話器音量最大
	Delay(1000);
	GPRS_Cmd("AT+CMIC=0,10\n");//設置通道0的話筒增益
	Delay(1000);
*/
}

static void Test_GPRS_Exit(void)
{
   	DisableSubIrq(BIT_SUB_RXD1);
	DisableIrq(BIT_UART1);
}

/****************************************************************************
【功能說明】發送掛機命令ATH
****************************************************************************/
void GPRS_HOLD()
{
	GPRS_Cmd("AT\r");
	Delay(500);
	GPRS_Cmd("ATH\r");
}

/****************************************************************************
【功能說明】發送接聽命令ATA
****************************************************************************/
void GPRS_ANSWER()
{
	GPRS_Cmd("AT\r");
	Delay(500);
	GPRS_Cmd("ATA\r");
}

/****************************************************************************
【功能說明】發送撥打命令ATD
****************************************************************************/
void GPRS_CALL(char *number)
{
	GPRS_Cmd("AT\r");
	Delay(500);
	GPRS_Cmd("ATD"); 
	GPRS_Cmd(number);
	GPRS_Cmd(";\r");
}

/****************************************************************************
【功能說明】發送短信
****************************************************************************/
static void GPRS_MGS(char *number, char *text)
{
	GPRS_Cmd("AT\r");
	Delay(500);

	GPRS_Cmd("AT+CMGF=1\r");//發送修改字符集命令,TEXT模式
	Delay(500);
	GPRS_Cmd("AT+CMGS=");	//發送發短信命令
	GPRS_Cmd(number);
	GPRS_Cmd("\n");
	
	GPRS_Cmd(text);
	
	SerialSwitch( 1 ) ;		//選擇UART通道為串口1
	SerialTxChar( 26 ); 	//"CTRL+Z"的ASCII碼
	SerialSwitch( 0 ) ;		//選擇UART通道為串口0
	
	Delay(100);
	Echo_Rx_Data();
}

/****************************************************************************
【功能說明】輸入一組數字用作電話號碼
****************************************************************************/
static int InputNumber(char *num)
{
	int key;
	int i=0;
	
	for(i=0; i<20; i++)
		num[i] = 0;
	i = 0;
	
	printf("Please input the number:\n");
	while(1)
	{
		key = getch();
		switch(key)
		{
		    case '0':
		    case '1':
		    case '2':
		    case '3':
		    case '4':
		    case '5':
		    case '6':
		    case '7':
		    case '8':
		    case '9':
		    	num[i++] = key;
				printf("%c",key);
				break;
			case ENTER_KEY:		//數字輸入完畢
				//num[i++] = key;
				return i;
				break;
			default:		//數字輸入錯誤!!!
				printf( "輸入錯誤,請重新輸入!!!\n");
				return 0;
				break ;		
	    }
	}
}

/****************************************************************************
【功能說明】GPRS模塊Q2403實驗程序
****************************************************************************/
void Test_GPRS_Q2403(void)
{
	U16 key ;
	char number[20];
	
	Test_GPRS_Init();
	
Test_Again:
	printf( "\nGSM/GPRS TEST, press ESC key to exit !\n" ) ;
	printf(" 1 : Send short message\n");
	printf(" 2 : Call the number\n");
	printf(" 3 : Ring off\n");
	printf(" 4 : Pick up\n");
   
	while(1)
	{
		key = getkey();
		if(key==ESC_KEY)
			break;
/*		if(key) {
			putch(key);
			WrUTXH1(key);
		}
*/		
		Echo_Rx_Data();
		
		switch( key )
		{
			case '1': printf("Send short message\t\t\n");
				if( !InputNumber(number) )break;
				printf("\nNow send short message...\n");
				GPRS_MGS(number,"科技  www.ee521.com");
				//printf("\n");
				//break;
				goto Test_Again;
      		case '2': printf("Call the number\t\t\n");
                if( !InputNumber(number) )		break;
                printf("\nNow send a call...\n");
                GPRS_CALL(number);
                //printf("\n");
                //break;
                goto Test_Again;
      		case '3': printf("Ring off\t\t\n");
                GPRS_HOLD();
                //break;
                goto Test_Again;
      		case '4': printf("Pick up\t\t\n");
                GPRS_ANSWER();
                //break;
                goto Test_Again;
		}
 	}
	
    Test_GPRS_Exit();
}

static char title[] = "GPRS實驗";
static char tip[]   = "實驗GSM/GPRS模塊Q2403,按ESC鍵返回";

//Test_LED8X8Item在prog_entry.c里被引用
TEST_PROGRAM_ITEM Test_GPRS_Q2403Item = {
				(TEST_PROGRAM)Test_GPRS_Q2403, 	//入口地址
				title, 					//顯示名稱
				tip, 					//幫助或提示信息,可為NULL
				1};						//使用printf,puts,putch等函數時在LCD上也顯示輸出字符(串)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级av在线播放| 色婷婷av久久久久久久| 精品乱码亚洲一区二区不卡| 日本vs亚洲vs韩国一区三区二区| 538在线一区二区精品国产| 日本大胆欧美人术艺术动态| 精品入口麻豆88视频| 国产精品亚洲一区二区三区妖精 | 亚洲国产aⅴ天堂久久| 欧美在线视频你懂得| 日本欧美一区二区| 精品国产麻豆免费人成网站| 春色校园综合激情亚洲| 亚洲黄色免费网站| 日韩午夜电影在线观看| 懂色av中文一区二区三区| 亚洲欧美另类久久久精品2019| 欧美精品乱人伦久久久久久| 狠狠色综合日日| 亚洲视频中文字幕| 欧美一级欧美三级| 国产成人av影院| 亚洲成人av电影在线| 久久久久久久综合狠狠综合| 91免费国产视频网站| 美腿丝袜亚洲三区| 亚洲少妇30p| 日韩欧美电影一二三| 成人免费毛片a| 天堂影院一区二区| 国产欧美视频在线观看| 欧美日韩一级二级三级| 春色校园综合激情亚洲| 日韩av一级片| 1024国产精品| 日韩精品在线看片z| 91免费看视频| 国产成人精品网址| 丝袜a∨在线一区二区三区不卡 | 亚洲三级免费电影| 欧美大黄免费观看| 色噜噜狠狠成人网p站| 极品瑜伽女神91| 亚洲国产精品一区二区尤物区| 久久久国产综合精品女国产盗摄| 欧美性一二三区| av一区二区三区在线| 久久成人18免费观看| 一区二区成人在线| 日本一区二区三区四区在线视频| 欧美精品国产精品| 91蜜桃免费观看视频| 国产精品一区二区在线播放| 五月激情六月综合| 亚洲欧美另类图片小说| 日本一区二区三区在线观看| 精品久久久久久久人人人人传媒| 欧美熟乱第一页| 一本色道久久综合精品竹菊| 国产成人精品影院| 国内久久精品视频| 黄色成人免费在线| 麻豆91精品视频| 日韩专区欧美专区| 日韩精品电影在线| 亚洲成年人网站在线观看| 一区二区三区自拍| 亚洲精品乱码久久久久久黑人| 国产精品麻豆视频| 国产精品视频九色porn| 欧美国产在线观看| 国产欧美日韩在线视频| 中文字幕第一区第二区| 国产三级久久久| 中文字幕乱码久久午夜不卡| 国产农村妇女精品| 国产精品成人一区二区艾草| 国产精品成人一区二区艾草| 国产精品久久久久天堂| 欧美国产激情二区三区| 国产精品免费久久久久| 亚洲色图制服诱惑| 亚洲资源在线观看| 日韩国产精品久久久久久亚洲| 男人的j进女人的j一区| 激情图区综合网| 国产精品中文字幕一区二区三区| 国产很黄免费观看久久| 成人免费视频app| 91麻豆免费看| 欧美日韩午夜影院| 精品免费视频一区二区| 久久久久久一级片| 中文字幕中文字幕在线一区 | 欧美国产日本视频| 国产精品丝袜91| 一区二区三区在线看| 亚洲mv大片欧洲mv大片精品| 日韩不卡一区二区| 精品一区二区久久| 成人黄色网址在线观看| 欧美视频一区在线| 精品999在线播放| 中文字幕精品三区| 亚洲高清免费一级二级三级| 蜜臀av性久久久久蜜臀aⅴ | 成人国产电影网| 91蜜桃在线观看| 538在线一区二区精品国产| 久久在线免费观看| 亚洲欧美一区二区三区孕妇| 日韩av午夜在线观看| 国产精品一线二线三线| 99久久99久久精品免费看蜜桃| 欧美三级视频在线播放| 久久九九影视网| 亚洲一区二区三区四区在线免费观看 | 欧美一区二区三区影视| 国产欧美一区二区精品性| 亚洲精品日韩综合观看成人91| 日本在线播放一区二区三区| 不卡av免费在线观看| 91精品国产91久久久久久最新毛片 | 99久久伊人精品| 91精品婷婷国产综合久久竹菊| 久久九九久久九九| 午夜欧美在线一二页| 成人免费黄色大片| 精品黑人一区二区三区久久 | 午夜久久电影网| 成人中文字幕在线| 欧美一级日韩免费不卡| 一区二区中文字幕在线| 久久国产视频网| 在线视频国产一区| 国产日韩精品一区| 日韩国产精品久久| 91福利资源站| 中文字幕一区二区三区四区| 精品一区二区综合| 欧美情侣在线播放| 亚洲免费在线观看视频| 国产精品一区二区黑丝| 91精品欧美久久久久久动漫| 一区二区三区欧美| 99久久综合狠狠综合久久| 精品国产电影一区二区| 亚洲国产成人av| 欧美中文字幕不卡| 91成人网在线| 国产日韩欧美麻豆| 精品无人区卡一卡二卡三乱码免费卡| 日本韩国一区二区三区视频| 国产精品青草综合久久久久99| 久久精品免费观看| 538prom精品视频线放| 亚洲一区二区三区美女| 日本韩国一区二区三区| 中文字幕在线观看一区二区| 国产精品99久久久久久似苏梦涵| 日韩欧美一级精品久久| 日韩经典一区二区| 这里只有精品99re| 日韩精彩视频在线观看| 欧美高清性hdvideosex| 亚洲成人一区在线| 欧美午夜精品一区二区三区| 亚洲黄色av一区| 91福利视频久久久久| 一区二区三区在线高清| 在线观看一区不卡| 亚洲精品视频在线看| 欧美最新大片在线看| 亚洲综合一区在线| 欧美精品在线观看播放| 视频一区在线播放| 欧美xxx久久| 国产麻豆精品在线观看| 国产亚洲一二三区| 不卡一区在线观看| 亚洲综合一区二区三区| 91精品国产综合久久久蜜臀图片 | 亚洲美腿欧美偷拍| 色婷婷综合五月| 亚洲gay无套男同| 日韩女同互慰一区二区| 国产99久久精品| 中文字幕综合网| 欧美亚洲综合在线| 久草精品在线观看| 亚洲欧洲精品天堂一级| 91久久精品日日躁夜夜躁欧美| 亚洲高清不卡在线观看| 日韩精品一区二区在线| 东方aⅴ免费观看久久av| 亚洲人成人一区二区在线观看 | 一区二区成人在线| 日韩视频国产视频| 国产成人精品免费在线| 亚洲影视在线播放|