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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? m32.c

?? w77E58開發(fā)的具備藍(lán)牙功能的GPS導(dǎo)航儀
?? C
?? 第 1 頁 / 共 4 頁
字號(hào):
#include <w77e58.h>
#include "global.h"
#include "io.h"
#include "timer.h"
#include "serial.h"
#include "m32.h"



extern bit  GPSReady;
bit  AlarmFlag;

extern bit   GPSav;           //1 = A
bit GPSTimerReq;
extern UINT16   idata   GPSTimer30;

#define _1_SEC         35
#define _2_SEC         70
#define _5_SEC         150
#define _10_SEC        300
#define _30_SEC        900



//用戶信息編碼方式 
#define GSM_7BIT        0 
#define GSM_8BIT        4 
#define GSM_UCS2        8      



char xdata SCA[16];                  // 短消息服務(wù)中心號(hào)碼(SMSC地址)     
char xdata TPA[16];                  // 目標(biāo)號(hào)碼或回復(fù)號(hào)碼(TP-DA或TP-RA) 
char xdata TP_PID;                   // 用戶信息協(xié)議標(biāo)識(shí)(TP-PID)     
char xdata TP_DCS;                   // 用戶信息編碼方式(TP-DCS)     
char xdata TP_SCTS[16];              // 服務(wù)時(shí)間戳字符串(TP_SCTS), 接收時(shí)用到     
char xdata TP_UD[161];               // 原始用戶信息(編碼前或解碼后的TP-UD)     
int xdata  index;                   // 短消息序號(hào),在讀取時(shí)用到 
int xdata  PhoneNumber;              //存電話號(hào)碼用



char xdata cmd[16];                       // 命令串     
char xdata pdu[256];                      // PDU串     
char xdata ans[256];                      // 應(yīng)答串     

char idata gsm_task;
//int  aLength;
extern uchar     idata  SysTimer;
extern uchar     xdata  JWDMode;
extern UINT32    xdata  Speed;
extern UINT32    xdata  LonDeg,LonMin1,LonMin2,LatDeg,LatMin1,LatMin2;
extern UINT32	 xdata  xYear,xMonth,xDay;
extern UINT32	 xdata  xHour,xMin,xSec;


int gsmSearchPhone(uchar* flag);  

int gsmString2Bytes(uchar* pSrc, uchar* pDst, int nSrcLength); 
int gsmEncodePdu(char xdata* pDst);   //pDst=pdu;
//void gsmGreateSmsHD(void);           //SMS header

 
void ClearBuf(uchar* Buff,int size)
{
         int xdata i;
		 for(i=0;i<size;i++)
		 {
            
		   Buff[i]=0;
		 }

}



void ATSend(uchar* puts)
{
     
      for (;*puts!=0;puts++)   //遇到停止符0結(jié)束
      {
	      putbyte(*puts);
          getUartWait();
	      //getbyte();
		  //putbyte1(getbyte());
 		
	  }
      ClearBuf(ans,256);             
         
}


void gsmInitPhoneBook(void)
{

        ATSend("AT+CPBS=\"SM\"\r");  //SIM 卡作為電話簿存儲(chǔ)體。
        PhoneNumber = 1;
        

}



#if 1
BOOL gsmSavePhone(uchar* phone,uchar* flag)
{

       int xdata n;
       uchar xdata* ptr;
       ClearBuf(ans,256);  
       sprintf(ans,"AT+CPBW=");
     
     #if 1  
       sprintf(cmd,"%d",PhoneNumber);
	   strcat(ans,cmd);
     #endif  
       
       strcat(ans,",\"");
       strcat(ans,phone);
       strcat(ans,"\",129,\"");
       strcat(ans,flag);
       strcat(ans,"\"\r");
       putstring1(ans);
	   putstring1("\r\n");
	   
       ATSend(ans); 
       
	   ReadSerail(ans, 128, &n,5);  
       if((ptr=strstr(ans,"+CME ERROR:"))== NULL)
       {
       
	       return TRUE;        
	   }
       else
       {
           return FALSE;
       }


}
#endif


#if 1
BOOL gsmDeletePhone(int index)
{
      int xdata i,n;      
	  sprintf(cmd,"AT+CPBW=");
      sprintf(ans,"%d",index);
	  strcat(cmd,ans);
      strcat(cmd,"\r\n");
     
	  ATSend(cmd);
   	  ReadSerail(ans, 120, &n,5);  
   	  if((strstr(ans,"OK")) != NULL) return TRUE;
	  return FALSE; 

}
#endif

#if 1
int gsmSearchPhone(uchar* flag)  
{
    
       int xdata n;
       uchar xdata* ptr;
       ClearBuf(ans,256);  
       sprintf(ans,"AT+CPBF=\"");
       strcat(ans, flag);                      
	   strcat(ans,"\"\r\n");
       ATSend(ans); 
       ReadSerail(ans, 256, &n,5);  
       if((ptr=strstr(ans,"+CPBF: ")) != NULL)
	   {
           //putstring1(ptr);
           //putstring1("\r\n");
           ptr +=6;
		   sscanf(ptr, "%d", &n);
             
       	   return n;        

	   }
       else
	   {
		  return 0;
       }
}
#endif


uchar* gsmCheckRightNumber(uchar* text,BOOL phone)       //phone=1,get phone number to SCA;else cmp SCA and TPA.
{
       int xdata i,n;
       uchar xdata Number[16];
       uchar xdata * ptr;
       
	   sprintf(ans,"AT+CPBF=\"");
       strcat(ans, text);                      
	   strcat(ans,"\"\r\n");
       strcpy(cmd,ans);
	   putstring1("cmd:\r\n"); 
	   putstring1(cmd); 
	   putstring1("\r\n"); 
	   i=5;
	   while(i--)
	   {
	   
	      ATSend(cmd); 
          ReadSerail(ans, 256, &n,5);  
          if((ptr=strstr(ans,"+CPBF: ")) != NULL) break;
	      else
          if(strstr(ans,"RING") != NULL) return 0;;

       } 
	  
	   if(i==0)return 0;
	   
	   while(1)
       {    
           ATSend(cmd); 
           ReadSerail(ans, 256, &n,5);  
	       putstring1("ans=:\r\n"); 
	       putstring1(ans); 
	       putstring1("\r\n"); 
           if((ptr=strstr(ans,"+CPBF: ")) != NULL)
	       {   
		      ptr +=6; //skip [+CPBF ]
		      if((ptr=strstr(ptr,",\"")) != NULL)
		      {
   	             if(strncpy(Number,ptr,16) != NULL)  
                 {
                     for(i=0;i<16;i++)
                    {
                      if((Number[i]=='\"') && (Number[i+1]==','))   
				      {
					      Number[i]=0;    //第二個(gè)"后面清0;
            			  
						  Number[0]=TPA[0];
                          Number[1]=TPA[1];
								
						  putstring1("Number=:\r\n"); 
			              putstring1(Number); 
				          putstring1("\r\n"); 
		                    	
						  putstring1("TPA=:\r\n"); 
			              putstring1(TPA); 
				          putstring1("\r\n"); 
			              if(phone==1)return Number;               
						  if(strncmp(Number,TPA,strlen(TPA))==0)
                          {
                              //is right number,go on next. 
					          return Number; 
              
			              }
                          return NULL;    			  
					  }
				   }//for(i=0;i<16;i++)
			       
				 }//if(strncpy(SCA,ptr,16) != NULL)      
	           
		      }//if((ptr=strstr(ptr,",\"")) != NULL)
              else
			  return NULL;
		   }//if((ptr=strstr(ans,"+CPBF: ")) != NULL)
	       else
		   return NULL;
	  } //while(1)
      
}




#if 1
int gsmGetRightNumber(uchar* text)
{
     uchar xdata* ptr;
	 
	 if((ptr=gsmCheckRightNumber(text,1))==NULL) return 0;
	 strcpy(TPA,ptr);
 
     
	 putstring1("You have Right Name is:\r\n");
     putstring1(text);
     putstring1("\r\n");
     putstring1("You have Right Number is:\r\n");
     putstring1(TPA);
     putstring1("\r\n");
     return 1;              
	   
}
#endif





BOOL gsmSendMessage(void) 
{     
	int  xdata nPduLength;                           // PDU串長(zhǎng)度     
	unsigned char  xdata nSmscLength;                // SMSC串長(zhǎng)度     
	int   xdata nLength;                             // 串口收到的數(shù)據(jù)長(zhǎng)度     
    uchar xdata* ptr;     
   
	TPA[0]=SCA[0];
    TPA[1]=SCA[1];


    putstring1("Send Message Start:\r\n");
    putstring1("SCA=:\r\n");
    putstring1(SCA);
    putstring1("\r\n");
   	putstring1("TPA=:\r\n");
    putstring1(TPA);
    putstring1("\r\n");
         
   
	nPduLength = gsmEncodePdu(pdu);           // 根據(jù)PDU參數(shù),編碼PDU串 
	strcat(pdu, "\x01a");                     // 以Ctrl-Z結(jié)束          
	gsmString2Bytes(pdu, &nSmscLength, 2);    // 取PDU串中的SMSC信息長(zhǎng)度     
	nSmscLength++;                            // 加上長(zhǎng)度字節(jié)本身    
	                                          // 命令中的長(zhǎng)度,不包括SMSC信息長(zhǎng)度,以數(shù)據(jù)字節(jié)計(jì)     
	sprintf(cmd, "AT+CMGS=%d\r", nPduLength/2 - nSmscLength);    // 生成命令          
   
	while(1)
	{
	   ATSend(cmd);
       ReadSerail(ans, 128, &nLength,5);
       if((ptr=strstr(ans,"\r\n> ")) != NULL)
	   {
           
            ATSend(pdu);  // 得到肯定回答,繼續(xù)輸出PDU串
           	ReadSerail(ans, 128, &nLength,5);
    	    if((strstr(ans, "+CMGS: ")) == NULL)
			{
		           putbyte('\r');
		           delay_ms(20);
			       putstring1("SMSC Send Ok!\r\n"); 
				   
				   return 1;
    	    }
		    else
			{
                    putstring1("SMSC ANSWER:Err\r\n"); 
			        putstring1(ans); 
			        putstring1("\r\n"); 
			
					
					putbyte('\r');
		           	delay_ms(20);
	                ATSend("AT\r\n");
                    delay_ms(200);


			}
	   }
	   else
       {
           putstring1("NO ANSWER:\r\n"); 
		   putstring1(ans); 
		   putstring1("\r\n"); 
		   
	       if((strstr(ans,"RING")) != NULL) return FALSE;
           putbyte('\r');
           delay_ms(20);
	       ATSend("AT\r\n");
           delay_ms(200);
	      
	   }    
	 }
	  
}      







//List all phonebook entries:
// AT+CPBF="DA"







/************************************************************************************************
*                   int gsmEncode7bit(const char* pSrc, unsigned char* pDst, int nSrcLength) 
* 7-bit編碼 
* pSrc: 源字符串指針 
* pDst: 目標(biāo)編碼串指針 
* nSrcLength: 源字符串長(zhǎng)度 
* 返回: 目標(biāo)編碼串長(zhǎng)度
***************************************************************************************/
int gsmEncode7bit(char xdata* pSrc, unsigned char xdata* pDst, int nSrcLength) 
{   
      int xdata nSrc;               // 源字符串的計(jì)數(shù)值     
      int xdata nDst;               // 目標(biāo)編碼串的計(jì)數(shù)值    
      int xdata nChar;              // 當(dāng)前正在處理的組內(nèi)字符字節(jié)的序號(hào),范圍是0-7   
      unsigned char xdata nLeft;    // 上一字節(jié)殘余的數(shù)據(jù)    
      // 計(jì)數(shù)值初始化     
      nSrc = 0;     
      nDst = 0;   
 	  
      // 將源串每8個(gè)字節(jié)分為一組,壓縮成7個(gè)字節(jié) 
      // 循環(huán)該處理過程,直至源串被處理完  
      // 如果分組不到8字節(jié),也能正確處理  
      while(nSrc<nSrcLength) 
      {        
         // 取源字符串的計(jì)數(shù)值的最低3位         
         nChar = nSrc & 7;           
         
		 // 處理源串的每個(gè)字節(jié)      
         if(nChar == 0)        
         {             
           // 組內(nèi)第一個(gè)字節(jié),只是保存起來,待處理下一個(gè)字節(jié)時(shí)使用             
           nLeft = *pSrc;         
         }  
         else  
         {             
           
	       // 組內(nèi)其它字節(jié),將其右邊部分與殘余數(shù)據(jù)相加,得到一個(gè)目標(biāo)編碼字節(jié)             
           *pDst = (*pSrc << (8-nChar))| nLeft;             
           // 將該字節(jié)剩下的左邊部分,作為殘余數(shù)據(jù)保存起來             
           nLeft = *pSrc >> nChar;       
           // 修改目標(biāo)串的指針和計(jì)數(shù)值 
           pDst++;             
		   nDst++;          
         }             
       
	     
		 // 修改源串的指針和計(jì)數(shù)值         
         pSrc++; 
		 nSrc++;  
      }          
     
      // 返回目標(biāo)串長(zhǎng)度     
      return nDst;  
}      


// 字節(jié)數(shù)據(jù)轉(zhuǎn)換為可打印字符串 // 如:{0xC8, 0x32, 0x9B, 0xFD, 0x0E, 0x01} --> "C8329BFD0E01"  
 // pSrc: 源數(shù)據(jù)指針 
 // pDst: 目標(biāo)字符串指針 
 // nSrcLength: 源數(shù)據(jù)長(zhǎng)度 
 // 返回: 目標(biāo)字符串長(zhǎng)度 
 int gsmBytes2String(uchar xdata * pSrc, char xdata* pDst, int nSrcLength) 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品自拍三区| 精品福利二区三区| 在线这里只有精品| 精品99一区二区三区| av一区二区三区在线| 久久久久久久久久美女| 日韩成人一区二区三区在线观看| 成人激情黄色小说| 中文av一区二区| 国产风韵犹存在线视精品| 精品日韩在线一区| 狠狠色狠狠色综合| 精品福利一二区| 欧美日韩中文另类| 午夜视频在线观看一区二区| 欧美色爱综合网| 成人午夜免费电影| 亚洲成人免费观看| 69av一区二区三区| 日韩不卡手机在线v区| 综合久久国产九一剧情麻豆| 91免费版在线| 视频精品一区二区| 久久精品人人做| 91网站在线观看视频| 国产在线麻豆精品观看| 免播放器亚洲一区| 日韩一区欧美小说| 欧美一区二区三区视频在线| 国产精品91一区二区| 黑人巨大精品欧美一区| 精东粉嫩av免费一区二区三区| 国产日韩欧美高清在线| 欧美日韩在线免费视频| 在线观看成人免费视频| 九色|91porny| 免费看欧美美女黄的网站| 日韩成人一级大片| 奇米影视一区二区三区| 亚洲成人av一区| 亚洲成人av免费| 亚洲h动漫在线| 视频一区欧美日韩| 七七婷婷婷婷精品国产| 免费观看一级特黄欧美大片| 奇米影视一区二区三区| 美女任你摸久久| 一区av在线播放| 日韩免费一区二区| 91亚洲国产成人精品一区二三| 成人av综合在线| 97久久人人超碰| 国产精品乡下勾搭老头1| 国产精品亚洲视频| zzijzzij亚洲日本少妇熟睡| 在线亚洲高清视频| 欧美日韩国产一二三| 成人久久18免费网站麻豆| 成人精品在线视频观看| 色综合天天综合网天天狠天天 | 欧美三级日韩三级国产三级| 色婷婷综合五月| 高清beeg欧美| 黑人巨大精品欧美黑白配亚洲| 国产最新精品精品你懂的| 不卡av在线免费观看| 欧美日韩久久一区二区| 欧美成人乱码一区二区三区| 中文在线免费一区三区高中清不卡| 欧美系列在线观看| 99国产欧美另类久久久精品| 在线观看国产一区二区| 欧美tickle裸体挠脚心vk| 国产精品视频你懂的| 天天影视涩香欲综合网 | 色呦呦网站一区| 欧美精品视频www在线观看| av电影一区二区| 精品视频123区在线观看| 精品国产乱码久久久久久浪潮| 欧美国产日韩在线观看| 亚洲国产成人精品视频| 亚洲自拍偷拍九九九| 亚洲欧美视频一区| 亚洲视频1区2区| 免费在线观看视频一区| 成人高清视频在线| 欧美疯狂做受xxxx富婆| 国产欧美在线观看一区| 亚洲国产精品欧美一二99| 经典三级一区二区| 色88888久久久久久影院按摩| 日韩一区二区电影网| 日韩一区二区三区电影| 亚洲欧美偷拍三级| 国产在线精品不卡| 国产精品1区二区.| 欧美色综合久久| 亚洲国产精品成人综合| 日韩va亚洲va欧美va久久| 北岛玲一区二区三区四区| 日韩精品一区二区三区视频在线观看 | 国产麻豆日韩欧美久久| 欧美色成人综合| 中文字幕欧美一区| 久久99国产精品麻豆| 欧美性xxxxxxxx| 国产精品不卡在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲精品高清在线观看| 国产精品亚洲专一区二区三区| 欧美精品免费视频| 中文字幕亚洲综合久久菠萝蜜| 国产一区二区三区av电影| 欧美日韩精品免费| 亚洲男人都懂的| 国产成人精品一区二区三区四区 | 亚洲国产精品久久久久秋霞影院 | 亚洲伦在线观看| 国产伦精一区二区三区| 日韩一区二区三区高清免费看看| 一区二区三区四区激情| 99在线精品观看| 中文字幕欧美日本乱码一线二线| 久久99精品久久久| 91精品国产全国免费观看| 一区二区三区不卡视频在线观看 | 欧美日韩一区国产| 亚洲精品你懂的| 99re66热这里只有精品3直播| 国产精品网曝门| 国产激情视频一区二区三区欧美 | 国产精品少妇自拍| 国产成人免费视频网站高清观看视频| 精品乱码亚洲一区二区不卡| 裸体一区二区三区| 美女网站一区二区| 日韩一区二区三区四区五区六区| 视频一区二区中文字幕| 欧美一级片在线观看| 日韩电影在线免费观看| 欧美一级xxx| 亚洲va欧美va人人爽| 9191精品国产综合久久久久久| 亚洲成人免费影院| 日韩欧美一区二区久久婷婷| 精品一区二区三区久久| 久久日一线二线三线suv| 亚洲国产日韩a在线播放| 欧美色精品在线视频| 日韩在线一二三区| 久久综合九色综合97婷婷| 国产做a爰片久久毛片| 国产喷白浆一区二区三区| 99视频一区二区| 综合激情成人伊人| 欧美群妇大交群中文字幕| 日本中文字幕一区二区有限公司| 欧美精品免费视频| 韩国中文字幕2020精品| 国产日韩欧美电影| 色婷婷综合中文久久一本| 午夜伦欧美伦电影理论片| 欧美一区二区免费| 粉嫩一区二区三区在线看| 中文字幕中文在线不卡住| 色综合久久天天| 午夜精品久久久久久久久久久| 日韩精品一区二区三区三区免费 | 男人的天堂亚洲一区| 26uuu欧美| 色菇凉天天综合网| 日本成人在线一区| 中文字幕高清一区| 欧美蜜桃一区二区三区| 国产一区二区三区免费看 | 国产精品视频一二三| 欧美人动与zoxxxx乱| 国内精品久久久久影院一蜜桃| 成人欧美一区二区三区1314| 欧美三区在线观看| 国产一区视频导航| 亚洲综合色噜噜狠狠| 日韩免费一区二区三区在线播放| 粉嫩一区二区三区性色av| 亚洲一区二区三区视频在线播放 | 欧美一区二区精品久久911| 国产精品影视在线观看| 亚洲一区二区高清| 久久综合资源网| 91福利国产成人精品照片| 国产在线视频精品一区| 亚洲成av人综合在线观看| 国产欧美一区二区三区在线看蜜臀| 91国偷自产一区二区使用方法| 极品少妇xxxx精品少妇| 亚洲国产欧美在线| 国产精品久久影院| 26uuu国产一区二区三区| 欧美精品久久天天躁|