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

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

?? gr47.c

?? 手機模塊gr47的各種操作源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
			cmd[i]=cmd1[i];	
	}
	else
	{
		for(i=0;i<24;i++)
			cmd[i]=cmd0[i];	
	}	  	
	cmd[8] = '"';	
	cmd[11] = '"';
	cmd[13] = '"';
	cmd[16] = '"';
	cmd[18] = '"';
	cmd[21] = '"';    
 	get_string_clear1( );				//清空接收緩沖區  
	put_string1(cmd, 24);   				//串口接收回復,關		
	os_wait(K_TMO,10,0);
 	get_string_clear1( );				//清空接收緩沖區  
	
	gsm_busy = 0;
}				  

/****************************************************************************** 
// 讀取電話本 
// 用CPBR
//一次讀出一條電話號碼
// pDrc 返回字符串指針
// index 電話號碼序號
//返回:字符串長度  
UCHAR read_phonebook(UCHAR	xdata	*pDrc,UCHAR	index)
{  	
	UCHAR m,i;				  
	UCHAR r_len; 		 // 串口收到的數據長度  
	UCHAR code	cmd0[]={"AT+CPBR="}; // 命令串 
	UCHAR code	cmd1[]={"AT+CPBS=ME\r\n"}; // 命令串 
	UCHAR xdata	cmd[16]; 			// 命令串 
	UCHAR xdata	buf[128]; // 接受緩沖 	
	UCHAR xdata	*ptr;  	

   	while(gsm_busy)
		os_wait(K_TMO,1,0);	 
	gsm_busy = 1;

	for(i=0;i<12;i++)
		cmd[i]=cmd1[i];	

 	get_string1(buf);				//清空發送緩沖區和接收緩沖區
	put_string1(cmd, 12);
	
	os_wait(K_TMO,10,0);

	for(i=0;i<8;i++)
		cmd[i]=cmd0[i];	

 	get_string1(buf);				//清空發送緩沖區和接收緩沖區
	put_string1(cmd, 8);
		   	
	m = index/10;
	if(m != 0)
		put_char1(m +0x30);
	put_char1((index%10)+0x30);
	put_char1(0x0d);
	put_char1(0x0a);

	for(i = 2; i>0; i--)
	{
		r_len = get_string1(buf);	 // 讀應答數據
		if(r_len >15)
			break;
	}
	if(r_len <15)	
	{	
		gsm_busy = 0;
		return(0);				
	}	  
	
	buf[127] = '\0';	
	if((ptr = strchr(buf,'"')) != NULL)
	{	
			ptr++;				
			r_len = 0; 
			m = *ptr;

			while(m != '"')
			{
				m = *ptr++;
				*pDrc++ = m;

			   	r_len++;
			}
			gsm_busy = 0;
			return(r_len-1);	 	
	}
	gsm_busy = 0;
	return (0);
}

/****************************************************************************** 
// 寫電話本 
// 用CPBW
//一次寫一條電話號碼
//pSrc: 源字符串指針
//index 電話號碼序號  	turn(TRUE); return(FALSE); 
//len 電話號碼長度   
//返回:成功/失敗  		AT+CPBW=4,13459553766,129,CENTER
bit write_phonebook(UCHAR	xdata	*pSrc,UCHAR	len,UCHAR	index)
{  	
	UCHAR m,i,j;				  
	UCHAR r_len; 		 // 串口收到的數據長度  
	UCHAR code	cmd0[]={"AT+CPBW="}; // 命令串 
	UCHAR code	cmd0_[]={",129,strong\r\n"}; // 命令串 
	UCHAR code	cmd1[]={"AT+CPBS=ME\r\n"}; // 命令串 
	UCHAR xdata	cmd[16]; 			// 命令串 
	UCHAR xdata	buf[128]; // 接受緩沖 	
	UCHAR xdata	*ptr;  	

   	while(gsm_busy)
		os_wait(K_TMO,1,0);	 
	gsm_busy = 1;

	for(i=0;i<12;i++)
		cmd[i]=cmd1[i];	

 	get_string1(buf);				//清空發送緩沖區和接收緩沖區
	put_string1(cmd, 12);
	
	os_wait(K_TMO,10,0);	 
					   
	for(i=0;i<8;i++)
		cmd[i]=cmd0[i];	

 	get_string1(buf);				//清空發送緩沖區和接收緩沖區
	put_string1(cmd, 8);
		   	
	m = index/10;
	if(m != 0)
		put_char1(m +0x30);
	put_char1((index%10)+0x30);
	put_char1(',');
		
	put_string1(pSrc, len);

	for(i=0;i<13;i++)
		cmd[i]=cmd0_[i];		
	put_string1(cmd, 13);
	
	os_wait(K_TMO,1,0);

	for(j = 2; j>0; j--)
	{	
		for(i = 2; i>0; i--)
		{
			r_len = get_string1(buf);	 // 讀應答數據
			if(r_len > 0)
				break;
		}
		if(r_len == 0)	
		{	
			gsm_busy = 0;
			return(FALSE);				
		}	  
		
		buf[127] = '\0';	
		if((ptr = strstr(buf,"OK")) != NULL)
		{	   				
			gsm_busy = 0;
			return(TRUE);	 	
		} 	 	
	}

	gsm_busy = 0;
	return (FALSE);
}

/******************************************************************************/ 
bit  ReadTime(void)
{					  
	UINT  xdata	r_len; 		 // 收到的數據長度  
	UCHAR 	i;
	UCHAR code	cmd0[ ]={"AT+CCLK?\r\n"}; // 命令串 
	UCHAR xdata	cmd[11]; 			// 命令串 
	UCHAR xdata	buf[50]; // 接受緩沖 	
	UCHAR xdata	*ptr;
	UCHAR xdata  *pDrc;  			

	while(gsm_busy)
		os_wait(K_TMO,1,0);

	ptr = buf;
	pDrc = time;		
	gsm_busy = 1;

	for(i=0;i<10;i++)
		cmd[i]=cmd0[i];

 	get_string_clear1( );				//清空緩沖區

	put_string1(cmd, 10);   	

	for(i = 2; i>0; i--)
	{
		r_len = get_string1(buf);	 // 讀應答數據
		if(r_len > 12)
			break;
	}
							  
	if(r_len < 12)	 
	{
		gsm_busy = 0;	
		return(FALSE); 
	}

	buf[127] = '\0';
	if((ptr = strstr(buf, "CCLK:")) != NULL)
	{	
		ptr += 7;		// 跳過(+CCLK: ")

		for(i=0;i<6;i++)
		{
			*pDrc = ((*ptr&0x0f)<<4) + (*(ptr+1)&0x0f);	
			pDrc++;
			ptr +=3;
		}
			   		
		gsm_busy = 0;				 		
		return(TRUE);		 		
	}		  	
	
	gsm_busy = 0;	
	return(FALSE); 						   
}
																   
/******************************************************************************/
bit		TimeCompare_(UCHAR	xdata	*sp1,UCHAR	xdata	*sp2)
{
	if(*sp1>*sp2)	return(1);
	if(*sp1<*sp2)	return(0);
	sp1++;	sp2++;

	if(*sp1>*sp2)	return(1);
	if(*sp1<*sp2)	return(0);
	sp1++;	sp2++;

	if(*sp1>*sp2)	return(1);
	if(*sp1<*sp2)	return(0); 
	sp1++;	sp2++;

	if(*sp1>*sp2)	return(1);
	if(*sp1<*sp2)	return(0);
	sp1++;	sp2++;

	if(*sp1>*sp2)	return(1);
	if(*sp1<*sp2)	return(0); 
	sp1++;	sp2++;		 

	if(*sp1>*sp2)	return(1);
	if(*sp1<*sp2)	return(0);

	return(0);
}						 
/******************************************************************************/
void  SetupTime(UCHAR xdata  *pSrc)
{	
	UCHAR xdata	buf1[33];
	UCHAR code	cmd[ ]={"AT+CCLK= 00/00/00,00:00:00+00 \r\n"}; // 命令串 
	UCHAR xdata	*sp;	

	if((sp = strchr(pSrc,',')) != NULL)
	{		 		
		sp++;
		buf1[0] = (((*sp) & 0x0f)<<4) + (*(sp+1) & 0x0f);
		sp += 2;
		buf1[1] = (((*sp) & 0x0f)<<4) + (*(sp+1) & 0x0f);
		sp += 2;
		buf1[2] = (((*sp) & 0x0f)<<4) + (*(sp+1) & 0x0f);
		sp += 2;
		buf1[3] = (((*sp) & 0x0f)<<4) + (*(sp+1) & 0x0f);
		sp += 2;
		buf1[4] = (((*sp) & 0x0f)<<4) + (*(sp+1) & 0x0f);
		sp += 2;
		buf1[5] = (((*sp) & 0x0f)<<4) + (*(sp+1) & 0x0f);
		 		
		if((TimeCompare_(buf1,time) == 1)||((memcmp(time,buf1,4) == 0)&&((time[4]-buf1[4]) == 1)))
		{								
			memcpy(buf1,cmd,32);
			sp = strchr(pSrc,',') + 1; 
			
			buf1[8] = '"';

			buf1[9]  = *sp++;
			buf1[10] = *sp++;

			buf1[12] = *sp++;
			buf1[13] = *sp++;

			buf1[15] = *sp++;
			buf1[16] = *sp++;

			buf1[18] = *sp++;
			buf1[19] = *sp++; 

			buf1[21] = *sp++;
			buf1[22] = *sp++;

			buf1[24] = *sp++;
			buf1[25] = *sp++;

			buf1[29] = '"';
						
			while(gsm_busy)
				os_wait(K_TMO,1,0);

			gsm_busy = 1;	
							   
			get_string1(buf1);

			put_string1(buf1, 32);

			get_string1(buf1);				//清空接收緩沖區

			gsm_busy = 0;
		}		
	}		  
}

/******************************************************************************/
void  gsm_status_init(void)
{			 	
	UCHAR 	i;
	UCHAR code	cmd0[ ]={"AT+CMGF=0\r\n"}; 		// 命令串 : 
	UCHAR code	cmd1[ ]={"ATE0\r\n"}; 		       	// 命令串 : 串口接收回復,關
	UCHAR code	cmd2[ ]={"AT+CNMI=3,1,0,2,0\r\n"}; 	// 命令串 : 短信提示,開
	UCHAR xdata	cmd[20]; 			// 命令串 

	while(gsm_busy)
		os_wait(K_TMO,1,0);	 		
	gsm_busy = 1;

	for(i=0;i<11;i++)
		cmd[i]=cmd0[i];	    
 	get_string_clear1( );				//清空接收緩沖區  
	put_string1(cmd, 11);   			//
						
	os_wait(K_TMO,100,0);

	for(i=0;i<6;i++)
		cmd[i]=cmd1[i];	    
 	get_string_clear1( );				//清空接收緩沖區  
	put_string1(cmd, 6);   				//串口接收回復,關
					
	os_wait(K_TMO,100,0);

	for(i=0;i<19;i++)
		cmd[i]=cmd2[i];	    
 	get_string_clear1( );				//清空接收緩沖區  
	put_string1(cmd, 19);   			//短信提示,開

	os_wait(K_TMO,10,0);
 	get_string_clear1( );				//清空接收緩沖區  

	gsm_busy = 0;
}											
																
/******************************************************************************/
void  gsm_init(void)
{			 	
	gsm_igt_0( );

	os_wait( K_TMO, 250, 0);	

	gsm_igt_1( );

	TP_DCS = GSM_8BIT;	  
}											
										
/******************************************************************************/
void	gsm_power_down(void)
{			 	
	UCHAR 	i;
	UCHAR code	cmd0[ ]={"AT+CFUN=0\r\n"}; 		// 命令串 : power down
	UCHAR xdata	cmd[11]; 			// 命令串 

	while(gsm_busy)
		os_wait(K_TMO,1,0);	 		
	gsm_busy = 1;

	for(i=0;i<11;i++)
		cmd[i]=cmd0[i];	
	put_string1(cmd,11);   			// power down
						
	os_wait(K_TMO,250,0);  
	os_wait(K_TMO,250,0);  
	os_wait(K_TMO,250,0);
	os_wait(K_TMO,250,0);			
 	get_string_clear1( );				//清空接收緩沖區  

	gsm_busy = 0;
}

/******************************************************************************/
bit	gprs_init(void)
{			 	
	UCHAR 	i,r_len;
	UCHAR xdata	buf[30]; 		
								   
 	get_string_clear1( );				//清空接收緩沖區  

	put_string1("at*e2ipa=1,1\r\n",14);   // 激活GR47 PDP連接
						
	for(i = 50; i>0; i--)			  //10s
	{
		r_len = get_string1(buf);	 // 讀應答數據
		buf[r_len] = '\0';
		if(r_len > 2)
			break;
	}
	if(strstr(buf,"OK") != NULL)
	{	 		
		return(TRUE);
	}
	return(FALSE);	
}

/******************************************************************************/
void	cmd_deal_gprs(UCHAR xdata *);										 
/******************************************************************************/
bit	gprs_connect(void)
{			 	
	UCHAR 	i,r_len;
	UCHAR xdata	buf[400]; 		
	   
 	get_string_clear1( );				//清空接收緩沖區  
														 	
	put_string1("at*e2ipo?\r\n",11);   // 連接?

	for(i = 10; i>0; i--)				  //2s
	{
		r_len = get_string1(buf);	 // 讀應答數據
		buf[r_len] = '\0';
		if(r_len > 6)
			break;
	}
	if(strchr(buf,'1') != NULL)	 //已經連接
	{		  
 		get_string_clear1( );				//清空接收緩沖區 	
		put_string1("ATO\r\n",5);
		for(i = 10; i>0; i--)				  //2s
		{
			r_len = get_string1(buf);	 // 讀應答數據
			buf[r_len] = '\0';
			if(r_len > 6)
				break;
		}
		cmd_deal_gprs(buf);
		return(TRUE);
	} 

	put_string1("at*e2ipo=1,",11);   // 連接
	put_char1('"');	 	
	put_string1(gprs_ip,strlen(gprs_ip));   	// ip
	put_char1('"');
	put_char1(',');			   
	put_string1(gprs_port,strlen(gprs_port));	//port
	put_string1("\r\n",2);  
							
	for(i = 50; i>0; i--)		  //10s
	{
		r_len = get_string1(buf);	 // 讀應答數據
		buf[r_len] = '\0';
		if(r_len > 6)
			break;
	}
	if(strstr(buf,"CONNECT") != NULL)	 //成功
	{		
		return(TRUE);
	}
	return(FALSE);	
}

/******************************************************************************/
void	gprs_close(void)
{			 	
	gprs_dtr = 0;  
	os_wait(K_TMO,30,0);
	gprs_dtr = 1; 				
}

/******************************************************************************/
bit	gprs_send(UCHAR	xdata *sp)
{			 	
	UCHAR 	m,r_len;
	UCHAR xdata	buf[400]; 

	while(gsm_busy)
		os_wait(K_TMO,1,0);	 		
	gsm_busy = 1;

 	m = 5;
	while( gprs_init( )==FALSE )
	{
		gprs_close( );     	
		m--;
		if(m == 0)	
		{		
			gsm_busy = 0;  	
			return(FALSE);	
		}	
	} 								   
 	m = 5;
	while( gprs_connect( )==FALSE )
	{
		gprs_close( );	
		m--;
		if(m == 0)	
		{		
			gsm_busy = 0;  	
			return(FALSE);	
		}	
	} 		   	
	put_string1(sp,strlen(sp));  
		
	for(m = 150; m>0; m--)		  //30s
	{
		r_len = get_string1(buf);	 // 讀應答數據
		buf[r_len] = '\0';
		if(r_len > 1)
			break;
	}
	if(strstr(buf,"OK") != NULL)	 //成功
	{		
		gprs_close( ); 
		gsm_busy = 0;  
		return(TRUE);
	}
	gprs_close( ); 
	gsm_busy = 0;  	
	return(FALSE);
}

/******************************************************************************/
void	gprs_rcv(void)	 
{ 	 					 
	UCHAR 	i,r_len;
	UCHAR xdata	buf[400]; 

	while(gsm_busy)
		os_wait(K_TMO,1,0);	 		
	gsm_busy = 1;		
	   
 	get_string_clear1( );				//清空接收緩沖區 														 	
	put_string1("at*e2ipo?\r\n",11);   // 連接?

	for(i = 10; i>0; i--)				  //2s
	{
		r_len = get_string1(buf);	 // 讀應答數據
		buf[r_len] = '\0';
		if(r_len > 6)
			break;
	}
	if(strchr(buf,'1') != NULL)	 //已經連接
	{		  
 		get_string_clear1( );				//清空接收緩沖區 	
		put_string1("ATO\r\n",5); 
		for(i = 10; i>0; i--)				  //2s
		{
			r_len = get_string1(buf);	 // 讀應答數據
			buf[r_len] = '\0';
			if(r_len > 6)
				break;
		}
		cmd_deal_gprs(buf);	  
		os_wait(K_TMO,50,0);
		gprs_close( ); 
	} 				   
	gsm_busy = 0;  	
}
													   
/******************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人自拍| 欧美视频完全免费看| 午夜精品久久一牛影视| 国产精品乱人伦中文| 日韩精品自拍偷拍| 精品国产一区二区亚洲人成毛片| 欧美日韩国产a| 欧美日韩一区二区在线观看视频| 色哟哟亚洲精品| 色婷婷综合久久久中文一区二区| 一本一本大道香蕉久在线精品| 国产不卡在线视频| 欧美日韩免费不卡视频一区二区三区| 欧亚洲嫩模精品一区三区| 欧美日韩视频专区在线播放| 欧美一级电影网站| 欧美激情一区三区| 蜜桃视频一区二区三区在线观看| 视频在线在亚洲| 蜜臀久久99精品久久久久久9 | 丝袜美腿亚洲色图| www.久久精品| 欧美剧情片在线观看| 精品国产91久久久久久久妲己| 亚洲欧洲国产专区| 日韩国产精品91| 99久久精品国产精品久久| 5858s免费视频成人| 国产精品福利一区| 激情深爱一区二区| 欧美日韩和欧美的一区二区| 中文文精品字幕一区二区| 丝瓜av网站精品一区二区| 91伊人久久大香线蕉| 国产精品美女久久久久久久网站| 日韩综合在线视频| 欧美亚洲禁片免费| 亚洲私人黄色宅男| 欧美这里有精品| 亚洲欧美日韩中文字幕一区二区三区| 国产成人av一区| 久久一二三国产| 韩国av一区二区三区四区| 欧美日韩亚洲丝袜制服| 亚洲精品国产第一综合99久久| 国产一区二区三区免费观看| 日韩精品一区二区三区蜜臀 | 国产成人超碰人人澡人人澡| 久久久久国产精品厨房| 国产自产v一区二区三区c| 欧美tickling挠脚心丨vk| 九九热在线视频观看这里只有精品| 欧美性猛交xxxxxx富婆| 日韩精品一二三区| 欧美大肚乱孕交hd孕妇| 99精品国产99久久久久久白柏| 中文字幕乱码亚洲精品一区 | 91亚洲资源网| 婷婷夜色潮精品综合在线| 日韩色在线观看| 成人的网站免费观看| 午夜国产不卡在线观看视频| 久久综合久久综合久久| 91美女精品福利| 另类小说色综合网站| 国产精品成人网| 欧美电影免费观看高清完整版在线观看 | 色偷偷88欧美精品久久久| 美女脱光内衣内裤视频久久影院| 国产婷婷色一区二区三区| 9色porny自拍视频一区二区| 婷婷成人激情在线网| 中文字幕+乱码+中文字幕一区| 日本一区二区三区dvd视频在线| 亚洲综合色在线| 精品国产乱码久久| 欧美视频中文字幕| 97久久人人超碰| 国产一区视频在线看| 日韩国产高清在线| 亚洲成av人影院| 同产精品九九九| 亚洲国产日韩综合久久精品| 国产精品久久二区二区| 久久这里都是精品| 精品88久久久久88久久久| 777xxx欧美| 欧美日韩一区在线观看| 色综合久久久久久久久久久| 国产91精品久久久久久久网曝门| 麻豆精品新av中文字幕| 国产在线麻豆精品观看| 美国三级日本三级久久99| 韩国一区二区三区| 高清在线成人网| 92国产精品观看| 日本韩国欧美一区| 日韩欧美激情在线| 国产亚洲1区2区3区| 成人欧美一区二区三区1314| 亚洲女子a中天字幕| 午夜精品123| 国产一区不卡精品| 99视频超级精品| 日韩午夜在线观看| 中文字幕不卡在线观看| 樱桃国产成人精品视频| 人妖欧美一区二区| 99久久免费精品| 日韩免费在线观看| 国产精品乱子久久久久| 日产精品久久久久久久性色| 色哟哟国产精品免费观看| 欧美日韩精品欧美日韩精品一综合| 在线成人av影院| 人禽交欧美网站| 久久香蕉国产线看观看99| 国产白丝精品91爽爽久久 | 毛片av一区二区| 久久久久97国产精华液好用吗| 美女视频一区二区三区| 国产精品每日更新在线播放网址| 成人av在线播放网站| 亚洲综合色成人| 91一区二区在线观看| 欧美一级一区二区| 亚洲午夜电影在线| 欧美日韩视频在线一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 国产xxx精品视频大全| 欧美国产欧美综合| 成人97人人超碰人人99| 国产精品女上位| 在线观看av一区二区| 视频一区在线播放| 91精品国产一区二区三区蜜臀| 免费不卡在线观看| 国产女人18水真多18精品一级做| 成人免费视频视频在线观看免费| 中文字幕 久热精品 视频在线| 95精品视频在线| 午夜精品一区二区三区免费视频| 欧美人与z0zoxxxx视频| 久久99精品久久久久久国产越南 | 午夜精品一区二区三区电影天堂| 91精品国产综合久久福利软件| 美女久久久精品| 亚洲三级小视频| 国产精品网站在线| 这里只有精品视频在线观看| 风间由美性色一区二区三区| 亚洲精品综合在线| 欧美mv日韩mv国产网站app| av在线一区二区三区| 日本网站在线观看一区二区三区| 久久精品夜夜夜夜久久| 欧美一级欧美一级在线播放| 99久久免费精品高清特色大片| 六月婷婷色综合| 国产精品一区免费在线观看| 国产精品久久久久久久久免费丝袜| 国产精品亚洲人在线观看| 久久久久久久av麻豆果冻| 精品一区二区三区在线视频| 国产无一区二区| 国产精品一二三| 国产婷婷色一区二区三区 | 久久国产三级精品| 国产精品国产a| 日韩精品一区二区三区在线观看| 色噜噜久久综合| 国产精品1024| 国产一区二区三区综合| 免费观看在线色综合| 日韩精品国产欧美| 日韩精品免费专区| 日本三级亚洲精品| 免费在线成人网| 久久精品国产精品亚洲红杏| 蜜桃久久久久久久| 麻豆精品国产91久久久久久| 久久电影网站中文字幕| 九九视频精品免费| 成人国产精品免费网站| 色狠狠一区二区三区香蕉| 欧美性做爰猛烈叫床潮| 日韩一级在线观看| 久久综合九色欧美综合狠狠 | 久久福利视频一区二区| 国产精品 欧美精品| 91国内精品野花午夜精品| 在线不卡a资源高清| 久久亚洲精华国产精华液 | av中文字幕亚洲| 在线综合亚洲欧美在线视频| 久久精品亚洲精品国产欧美kt∨| 欧美极品另类videosde| 午夜久久福利影院| 波多野结衣在线aⅴ中文字幕不卡| 欧美色涩在线第一页|