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

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

?? m32.c

?? w77E58開發的具備藍牙功能的GPS導航儀
?? C
?? 第 1 頁 / 共 4 頁
字號:
}      




/*****************************************************************************************************
*             int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength) 
*
* 7-bit解碼 
* pSrc: 源編碼串指針 
* pDst: 目標字符串指針 
* nSrcLength: 源編碼串長度 
* 返回: 目標字符串長度 
*******************************************************************************************************/
//int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength) 
int gsmDecode7bit(uchar* pSrc, char * pDst, int nSrcLength) 
{ 
     int nSrc;               // 源字符串的計數值     
     int nDst;               // 目標解碼串的計數值     
     int nByte;              // 當前正在處理的組內字節的序號,范圍是0-6     
     unsigned char nLeft;    // 上一字節殘余的數據        
     
     // 計數值初始化     
     nSrc = 0;     
	 nDst = 0;    
     // 組內字節序號和殘余數據初始化     
     nByte = 0;     
	 nLeft = 0;    
     // 將源數據每7個字節分為一組,解壓縮成8個字節     
     // 循環該處理過程,直至源數據被處理完     
     // 如果分組不到7字節,也能正確處理     
     while(nSrc<nSrcLength)     
     {         
       // 將源字節右邊部分與殘余數據相加,去掉最高位,得到一個目標解碼字節    
       *pDst = ((*pSrc << nByte) | nLeft) & 0x7f;         
       // 將該字節剩下的左邊部分,作為殘余數據保存起來         
        nLeft = *pSrc >> (7-nByte); 
       // 修改目標串的指針和計數值         
        pDst++;         
		nDst++;   
       // 修改字節計數值         
        nByte++;              
       // 到了一組的最后一個字節         
       if(nByte == 7)         
       {             
          // 額外得到一個目標解碼字節             
          *pDst = nLeft; 
          // 修改目標串的指針和計數值             
          pDst++;             
		  nDst++; 
          // 組內字節序號和殘余數據初始化             
          nByte = 0;             
          nLeft = 0;         
       }              
       // 修改源串的指針和計數值         
       pSrc++;         
       nSrc++;     
     }          
     *pDst = 0;          
     // 返回目標串長度     
     return nDst; 
} 




 // PDU解碼,用于接收、閱讀短消息 
 // pSrc: 源PDU串指針 
 // pDst: 目標PDU參數指針 
 // 返回: 用戶信息串長度 
 int gsmDecodePdu(char * pSrc) 
 {     
 	int nDstLength;           // 目標PDU串長度     
	unsigned char tmp;        // 內部用的臨時字節變量     

   	// SMSC地址信息段     
 	gsmString2Bytes(pSrc, &tmp, 2);    // 取長度     
 	tmp = (tmp - 1) * 2;               // SMSC號碼串長度     
 	pSrc += 4;                         //指針后移     
	gsmSerializeNumbers(pSrc, SCA, tmp);    

#if 0 	
	putstring1("SCA=\r\n");
	putstring1(SCA);
	putstring1("\r\n");
#endif	


	// 轉換SMSC號碼到目標PDU串     
 	pSrc += tmp;        
#if 0	
	putstring1("pSrc=\r\n");
	putstring1(pSrc);
	putstring1("\r\n");                //040D9168
#endif 	
	// 指針后移          
 	// TPDU段基本參數、回復地址等     
 	gsmString2Bytes(pSrc, &tmp, 2);    
	                                    //tmp=04  No return back addr
										//tmp=84  have return back addr 
	// 取基本參數     
 	pSrc += 2;        
 	// 指針后移     
#if 0
   	putstring1("pSrc=\r\n");
	putstring1(pSrc);
	putstring1("\r\n");                //0D9168
#endif
	
	 
	//if(tmp & 0x80)                       
 	 {         
 		// 包含回復地址,取回復地址信息         
 		gsmString2Bytes(pSrc, &tmp, 2);    // 取長度       
        if(tmp==13)putstring1("13\r\n");

 		if(tmp & 1) tmp += 1;    // 調整奇偶性         
        if(tmp==14)putstring1("14\r\n");
 		
		
		pSrc += 4;          
 		// 指針后移         
 		gsmSerializeNumbers(pSrc, TPA, tmp);    
 		// 取TP-RA號碼         
 	#if 0 
	   	putstring1("TPA=\r\n");
		putstring1(TPA);
		putstring1("\r\n");
    #endif		
		pSrc += tmp;        
 		// 指針后移     
 	 }          


	 // TPDU段協議標識、編碼方式、用戶信息等     
 	 gsmString2Bytes(pSrc, (unsigned char*)&TP_PID, 2);         // 取協議標識(TP-PID)     
	 pSrc += 2;        // 指針后移        

 	 gsmString2Bytes(pSrc, (unsigned char*)&TP_DCS, 2);    // 取編碼方式(TP-DCS)     
 	 pSrc += 2;        // 指針后移     
 	 gsmSerializeNumbers(pSrc, TP_SCTS, 14);                    // 服務時間戳字符串(TP_SCTS)      
 	 pSrc += 14;       // 指針后移     
 	 gsmString2Bytes(pSrc, &tmp, 2);    // 用戶信息長度(TP-UDL)     
 	 pSrc += 2;        // 指針后移     


 	 if(TP_DCS == GSM_7BIT)         
 	 {         
 		// 7-bit解碼         
 		nDstLength = gsmString2Bytes(pSrc, ans, tmp & 7 ? (int)tmp * 7 / 4 + 2 : (int)tmp * 7 / 4);  
 		// 格式轉換         
 		gsmDecode7bit(ans, TP_UD, nDstLength);    
	   	
		putstring1("TP_UD=\r\n");
		putstring1(TP_UD);
		putstring1("\r\n");
 		

		// 轉換到TP-DU         
 		nDstLength = tmp;     
 	  }     
	  else if(TP_DCS == GSM_UCS2)     
 	  {         
 	    #if 0
   	     // UCS2解碼         
 		  nDstLength = gsmString2Bytes(pSrc, ans, tmp * 2);          // 格式轉換         
 		  nDstLength = gsmDecodeUcs2(ans, TP_UD, nDstLength);    // 轉換到TP-DU     
 	    #endif
      }     
 	  else     
 	  {         
 			// 8-bit解碼         
 		 nDstLength = gsmString2Bytes(pSrc, ans, tmp * 2);       // 格式轉換         
 		 //nDstLength = gsmDecode8bit(ans, TP_UD, nDstLength);    // 轉換到TP-DU     
      }          

	 
      //返回目標字符串長度     
      return nDstLength; 
} 


int gsmDeleteSms(int xdata index)
{
       int xdata n;
       ClearBuf(ans,256);  
       sprintf(ans,"AT+CMGD=");
       sprintf(cmd,"%d",index);
	   strcat(ans,cmd);
       strcat(ans,"\r\n");
       
	   putstring1(ans);
	   putstring1("\r\n");
	   
	   SysTimer=_10_SEC;
       while(SysTimer)
	   {
	     ATSend(ans); 
         ReadSerail(ans, 128, &n,5);  
         if((strstr(ans,"OK"))!= NULL) return 1;
         ATSend("AT\r\n");
		 delay_ms(20);
      }

}








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

   GSM_IO10: L->H-L,H=40-50 ms,wake up MCU,and gsm set IO11 to low.
   GSM_ROW4:              ,Wake up GSM.


   Host to GSM:   check GSM sleep? if yes,Host pull low GSM_ROW4 to low 50 ms,at once send AT command.
**************************************************************************************************************/
// SM        station
// MS        Me
/*****************************************************************************************************************
 1.設置短消息中心號碼:       AT+CSCA="+8613800755500" <CR>. (地區不同,設置不同)
 2.設置短消息格式:           AT+CMGF=0<CR>                  (0==PDU mode)
 3.設置短消息存放的位置:     AT+CPMS="SM"<CR>               (SM表示將短消息存放在SIM卡中) 
 4.設置短消息到達通知:       AT+CNMI=1,1,0,0,1<CR>          (此命令可以使GSM模塊在短消息到達后向MCU發送指令:AT+CMTI:"SM",INDEX<CR>)

*****************************************************************************************************************/
void gsmModule_init(void)
{
    
    
	  GSM_PWON=HIGH;
      delay_ms(5);
      GSM_PWON=LOW;
      delay_ms(200);   //Over 120 ms,M32 power on.
      GSM_PWON=HIGH;
      delay_ms(200);   
     
	  putbyte('A');
      putbyte('T');
      putbyte('\r');

      gsm_task = 0;    
      AlarmFlag = FALSE; 
   	  SysTimer=20;
	  while(SysTimer);

      //
           
	   
      putbyte('A');
      putbyte('T');
      putbyte('\r');
      SysTimer=20;
	  while(SysTimer);
	 
      putstring1("\r\n");
      putstring1("Reset GSM Module OK!\r\n");
      //AlarmFlag = 1;      
      //sprintf(cmd, "ATD13554997942;\r\n");                  // 生成命令  
      //putstring(cmd);                           // 先輸出命令串
      ClearBuf(SCA,16);       	      
	 
}




void HangUpCall(void)
{

      //sprintf(cmd, "AT+CHUP\r\n");             // 生成命令  
      ATSend("ATH\r\n");             // 生成命令  

}


void RecieveCall(void)  //接電話,回應呼叫
{

      sprintf(cmd, "ATA\r\n");                  // 生成命令  
      putstring(cmd);                           // 先輸出命令串


}


void Recall(void)
{
      sprintf(cmd, "ATDL\r\n");                  // 生成命令  
      putstring(cmd);                           // 先輸出命令串


}




//int xdata gpsWait;


uchar gsmMain(void)
{
      int i,n;
	  unsigned char nSmscLength;          // SMSC串長度 
      uchar xdata* ptr;
     
    
       if(GPSTimerReq==TRUE)
	  {
         if(GPSTimer30==0)
   	     {
            GPSTimer30=_30_SEC;
            gsm_task = 40; 

		 }


	  }
            

      
	  switch(gsm_task)
	  {
           case 0:
              	ATSend("AT\r");
			    ReadSerail(ans, 128, &n,5);
                if(strstr(ans,"\r\nOK")==NULL)
				{
                    putbyte('\r');
                    delay_ms(200);
				    break;
				}

                putstring1("\r\n");
        		putstring1("Start Debug GSM:\r\n");
       	
                			        
               	gsmInitPhoneBook();

			
      #if 0
                gsmDeletePhone(1);
				//gsmPhoneBookTask(GSM_DELET_PHONE,NULL,NULL,1);
				
				ATSend("AT+CPBF=\"GWM\"\r");		  
            	ReadSerail(ans, 256, &n,5);
                putstring1(ans); 
                putstring1("\r\n");
	  #endif			
				gsm_task++;
				break;

           case 1:                 
				if(strlen(SCA))
				{
				   gsm_task++;
		           break;
				}
				putstring1("Read SMC:\r\n"); 
			    //讀短消息中心號碼:
  				ATSend("AT+CSCA?\r");		  
            	ReadSerail(ans, 128, &n,5);
				if((strstr(ans, "+CSCA: ")) == NULL)
				{
                    putbyte('\r');   
			        delay_ms(20);
					break;
				}
				if((ptr=strstr(ans, "\"+")) == NULL)
				{
			        putbyte('\r');   
				    delay_ms(20);
					break;
                
				}	
				else				   
   				{
				     ptr +=2;  //skip '"+'
				     if(strncpy(SCA,ptr,16) != NULL)  //SCA[]="+8613800755500"
                     {
                         for(i=0;i<16;i++)
                         {
                            if((SCA[i]=='\"') && (SCA[i+1]==',') )   
						    {
								SCA[i]=0;    //第二個"后面清0;
                            	
								putstring1("SCA:\r\n"); 
			                    putstring1(SCA); 
				                putstring1("\r\n"); 
		                	  
				                TP_PID=0;                   // 用戶信息協議標識(TP-PID)     
                                TP_DCS=GSM_7BIT;            // 用戶信息編碼方式(TP-DCS)     
                                //TP_SCTS[16];              // 服務時間戳字符串(TP_SCTS), 接收時用到     
                          	    index=0;                   // 短消息序號,在讀取時用到 
							    gsm_task++;
								break;
						   }
					    }
				   }
			    }
                break;

           case 2: //check GSM status:
             	ATSend("AT+CPAS\r");		  
            	ReadSerail(ans, 128, &n,5);
	           	if((ptr=strstr(ans,"+CPAS: ")) != NULL)
                {
                    ptr +=6;
					sscanf(ptr, "%d", &n);   
					if(n==0)                                    //0--  ready
		            {
                      
					   putstring1("Check SMS!\r\n");
				       gsm_task=13;   //check "RING" ?   
					   		
					
					}   
	                else
 		            if(n==3)                                     //3--ring
		            {
                      //putstring1("Check Ring!\r\n");  
					  gsm_task=3;   //check "RING" ?   
 	        					
					}   
	                else
                    if(n==5)                         //5-- asleep
		            {
                      
				    }    
	                  
			    }
                else
				{
                   
					
					putbyte('\r');
				    delay_ms(200);

				}
				break;
           case 3: //check ring ?
			    ReadSerail(ans, 128, &n,5);
			   	if((ptr=strstr(ans,"RING")) != NULL)
   	            {
                   putstring1("RING!\r\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图制服诱惑| 99久久精品免费看国产免费软件| 国产精品一区二区久久精品爱涩| 不卡电影免费在线播放一区| 在线综合亚洲欧美在线视频| 亚洲免费观看高清完整版在线观看| 久久精品二区亚洲w码| 欧美性猛片aaaaaaa做受| 中文字幕乱码日本亚洲一区二区 | 欧美精品在线观看播放| 日本一二三不卡| 精品一区二区免费视频| 欧美日韩一区二区三区在线| 一区二区中文视频| 国产精品一区二区在线观看不卡 | 日本精品一区二区三区高清| 国产亚洲欧美在线| 久久成人精品无人区| 欧美一区二区视频在线观看2022| 国产精品久久二区二区| 大美女一区二区三区| 久久久91精品国产一区二区精品 | 色播五月激情综合网| 国产精品久久久久久久久免费樱桃 | 一区二区三区欧美视频| av激情成人网| 国产精品午夜免费| 丰满少妇久久久久久久| 久久综合狠狠综合久久激情| 乱中年女人伦av一区二区| 日韩欧美国产系列| 六月婷婷色综合| 久久久一区二区| 风流少妇一区二区| 国产精品日韩成人| 99久久精品国产麻豆演员表| 亚洲欧洲精品一区二区三区不卡| 91蜜桃网址入口| 亚洲影院在线观看| 欧美片网站yy| 久草在线在线精品观看| 亚洲精品在线三区| 成人综合婷婷国产精品久久免费| 欧美国产日韩亚洲一区| 99久久精品久久久久久清纯| 亚洲精品大片www| 欧美日本国产视频| 韩国欧美国产1区| 国产精品另类一区| 在线精品视频免费播放| 日本不卡一区二区| 久久久美女毛片| 91小宝寻花一区二区三区| 亚洲综合一二区| 精品国产亚洲在线| www.性欧美| 日本午夜一本久久久综合| 国产婷婷精品av在线| 91女人视频在线观看| 日韩av电影天堂| 欧美国产一区视频在线观看| 91传媒视频在线播放| 另类小说色综合网站| 亚洲视频网在线直播| 日韩亚洲电影在线| 成人18精品视频| 婷婷综合在线观看| 中文字幕乱码日本亚洲一区二区 | 奇米777欧美一区二区| 国产精品久久久久天堂| 91精品国产综合久久精品性色 | 国产精品麻豆久久久| 欧美精品日韩综合在线| 国产91精品在线观看| 婷婷六月综合网| 中文字幕一区二区三区蜜月| 91精品国产麻豆国产自产在线| 成人激情动漫在线观看| 日韩av电影免费观看高清完整版 | 久久视频一区二区| 欧美亚洲一区二区在线| 国产九色sp调教91| 天天综合天天做天天综合| 亚洲欧美在线另类| 久久蜜桃av一区精品变态类天堂| 欧美色图片你懂的| 成人高清av在线| 国产综合色精品一区二区三区| 一区二区三区国产豹纹内裤在线| 国产亚洲一区二区在线观看| 91精品国产一区二区人妖| 色94色欧美sute亚洲线路一久| 国产成人av一区二区| 美女视频一区二区| 亚洲成人一二三| 亚洲精选在线视频| 日韩美女视频一区二区| 中文成人av在线| 国产日韩欧美在线一区| 日韩精品一区二区三区蜜臀 | 日本在线播放一区二区三区| 一区二区日韩av| 亚洲丝袜制服诱惑| 欧美国产精品专区| 久久久久国产一区二区三区四区| 日韩欧美一区二区不卡| 91精品视频网| 日韩三级中文字幕| 日韩午夜电影在线观看| 欧美一区二区三区电影| 欧美放荡的少妇| 91精品国产一区二区三区香蕉 | 国产精品欧美综合在线| 久久久精品2019中文字幕之3| 精品1区2区在线观看| 久久美女艺术照精彩视频福利播放| 精品国产亚洲在线| 久久香蕉国产线看观看99| 久久久久久久久97黄色工厂| 久久日韩精品一区二区五区| 久久久国产一区二区三区四区小说 | 日本午夜精品一区二区三区电影| 天堂av在线一区| 秋霞电影一区二区| 国产在线播精品第三| 国产盗摄精品一区二区三区在线| 大白屁股一区二区视频| 99国产精品99久久久久久| 91猫先生在线| 欧美日本一区二区三区四区| 欧美精品v日韩精品v韩国精品v| 91麻豆精品久久久久蜜臀| 精品久久人人做人人爰| 欧美国产成人精品| 亚洲乱码国产乱码精品精98午夜| 亚洲一区二区欧美| 麻豆久久久久久久| 国产精品中文字幕日韩精品| 不卡视频在线看| 欧美日本在线视频| 精品毛片乱码1区2区3区| 国产女同互慰高潮91漫画| 亚洲人成伊人成综合网小说| 日日夜夜精品视频天天综合网| 国产在线精品国自产拍免费| av一区二区三区黑人| 欧美久久久一区| 国产欧美视频一区二区三区| 一区二区三区不卡在线观看 | 欧美日韩中文字幕一区二区| 欧美刺激脚交jootjob| 国产精品日韩精品欧美在线 | 亚洲福中文字幕伊人影院| 捆绑变态av一区二区三区| 成人毛片老司机大片| 欧美精品三级在线观看| 国产精品免费aⅴ片在线观看| 亚洲国产成人porn| 国产成人综合在线播放| 欧美日韩一区视频| 中文字幕国产一区| 日韩成人精品在线| 91麻豆产精品久久久久久| 精品国产乱码久久久久久图片| 亚洲免费在线视频| 韩国女主播成人在线| 欧美日韩卡一卡二| 国产精品三级在线观看| 日本成人在线网站| 91成人在线精品| 国产喂奶挤奶一区二区三区| 日韩国产在线观看| 色诱视频网站一区| 亚洲国产精品v| 激情另类小说区图片区视频区| 欧美在线不卡一区| 亚洲欧洲精品成人久久奇米网| 精品写真视频在线观看| 在线成人午夜影院| 亚洲国产视频一区二区| 一本大道久久精品懂色aⅴ| xfplay精品久久| 久久99精品国产麻豆不卡| 欧美日韩精品欧美日韩精品| 亚洲免费观看视频| 99这里只有精品| 中文字幕一区免费在线观看| 高清不卡在线观看| 久久久99久久| 国产精品一区三区| 国产亚洲欧美日韩在线一区| 精品中文字幕一区二区小辣椒 | 欧美喷潮久久久xxxxx| 亚洲永久精品大片| 欧美亚洲一区二区在线观看| 亚洲欧美国产77777| 91视频免费观看| 亚洲一区视频在线观看视频| 欧洲精品一区二区三区在线观看| 亚洲一区二区三区三|