亚洲欧美第一页_禁久久精品乱码_粉嫩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串長度     
	unsigned char  xdata nSmscLength;                // SMSC串長度     
	int   xdata nLength;                             // 串口收到的數(shù)據(jù)長度     
    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信息長度     
	nSmscLength++;                            // 加上長度字節(jié)本身    
	                                          // 命令中的長度,不包括SMSC信息長度,以數(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: 源字符串長度 
* 返回: 目標(biāo)編碼串長度
***************************************************************************************/
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)串長度     
      return nDst;  
}      


// 字節(jié)數(shù)據(jù)轉(zhuǎn)換為可打印字符串 // 如:{0xC8, 0x32, 0x9B, 0xFD, 0x0E, 0x01} --> "C8329BFD0E01"  
 // pSrc: 源數(shù)據(jù)指針 
 // pDst: 目標(biāo)字符串指針 
 // nSrcLength: 源數(shù)據(jù)長度 
 // 返回: 目標(biāo)字符串長度 
 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一区二区三区免费野_久草精品视频
欧美国产成人精品| 国产人成一区二区三区影院| 国产一区二区三区久久久| 久久九九影视网| 欧美性大战xxxxx久久久| 国产精品中文字幕一区二区三区| 又紧又大又爽精品一区二区| 久久久综合九色合综国产精品| 在线观看三级视频欧美| 丁香五精品蜜臀久久久久99网站| 三级一区在线视频先锋| 亚洲欧洲日产国码二区| 精品国产人成亚洲区| 欧美日韩综合色| av中文字幕不卡| 欧美a一区二区| 亚洲在线视频免费观看| 国产精品电影一区二区| 欧美成人精品福利| 国产精品国产三级国产专播品爱网| 678五月天丁香亚洲综合网| 成人av动漫网站| 国产大片一区二区| 蜜桃视频在线观看一区二区| 一区二区高清免费观看影视大全 | 最近中文字幕一区二区三区| 精品剧情在线观看| 欧美日韩一区在线观看| 91女神在线视频| 波多野结衣中文字幕一区二区三区| 韩国一区二区视频| 精品午夜一区二区三区在线观看| 日本亚洲最大的色成网站www| 一区二区三区四区不卡在线| 亚洲人午夜精品天堂一二香蕉| 欧美激情一区二区三区不卡 | 国产精品网友自拍| 久久久久国产一区二区三区四区| 日韩欧美一区二区视频| 日韩三级中文字幕| 欧美一卡二卡三卡| 欧美一级艳片视频免费观看| 欧美日韩激情一区二区三区| 亚洲视频免费看| 亚洲人午夜精品天堂一二香蕉| 成人欧美一区二区三区1314 | 一级日本不卡的影视| 亚洲婷婷综合色高清在线| 国产精品久久久久久亚洲伦| 国产精品嫩草99a| 中文字幕中文字幕一区| 亚洲欧美一区二区三区国产精品 | 国产经典欧美精品| 国产成人亚洲综合a∨婷婷图片 | 麻豆精品视频在线| 美女国产一区二区三区| 免费久久99精品国产| 麻豆精品视频在线观看视频| 久久国产精品露脸对白| 韩国三级在线一区| 国产精品一线二线三线| 成人av手机在线观看| 91丨国产丨九色丨pron| 日本丰满少妇一区二区三区| 欧美性受极品xxxx喷水| 日韩一区二区电影| 久久品道一品道久久精品| 国产精品午夜春色av| 亚洲婷婷国产精品电影人久久| 亚洲自拍另类综合| 美国欧美日韩国产在线播放| 国产91清纯白嫩初高中在线观看| 99久久免费精品高清特色大片| 欧美中文字幕一区| 日韩欧美高清dvd碟片| 久久精品亚洲乱码伦伦中文 | 久久av中文字幕片| av激情综合网| 欧美精品乱人伦久久久久久| 久久久国产综合精品女国产盗摄| 国产精品久久久久久户外露出| 亚洲一区二区偷拍精品| 久久99深爱久久99精品| 99久久伊人精品| 欧美肥妇毛茸茸| 国产精品少妇自拍| 午夜精品久久久久久久蜜桃app| 国产一区二区中文字幕| 日本乱码高清不卡字幕| 精品少妇一区二区三区在线播放| 一区二区中文视频| 日韩av中文字幕一区二区| av在线免费不卡| 日韩久久精品一区| 亚洲精品乱码久久久久久久久| 久久精品国产网站| 欧美性猛交一区二区三区精品| 久久久777精品电影网影网| 亚洲成人激情av| 成人午夜免费av| 日韩视频免费观看高清完整版| 亚洲乱码精品一二三四区日韩在线 | 日韩丝袜情趣美女图片| 亚洲美女电影在线| 韩国三级在线一区| 欧美高清视频一二三区 | www.视频一区| 5858s免费视频成人| 国产精品国产三级国产专播品爱网| 日韩成人av影视| 色www精品视频在线观看| 久久精品欧美一区二区三区麻豆| 亚洲成av人片一区二区梦乃| 成人午夜大片免费观看| 精品福利在线导航| 亚洲一区二区三区四区的| 懂色av一区二区三区蜜臀| 日韩免费高清av| 午夜欧美2019年伦理 | 欧美大度的电影原声| 亚洲一区二区三区免费视频| 91亚洲永久精品| 久久久久久久久97黄色工厂| 青草国产精品久久久久久| 欧美视频第二页| 一区二区三区在线看| www.日本不卡| 中文无字幕一区二区三区 | 蜜桃精品在线观看| 这里是久久伊人| 午夜久久久影院| 欧美日韩一区 二区 三区 久久精品| 中文字幕制服丝袜成人av| 国产91精品一区二区麻豆亚洲| 欧美精品一区二| 精品一区精品二区高清| 欧美mv日韩mv国产网站| 久久99最新地址| 精品免费国产一区二区三区四区| 久久国产成人午夜av影院| 欧美xxxx在线观看| 极品销魂美女一区二区三区| 精品免费国产二区三区| 国产呦萝稀缺另类资源| 国产偷国产偷精品高清尤物 | 日韩成人午夜精品| 日韩一二三区不卡| 精品一区二区三区在线观看国产 | 欧美成人aa大片| 国产综合色产在线精品| 国产女同性恋一区二区| 成人听书哪个软件好| 日韩美女精品在线| 色婷婷久久久综合中文字幕| 亚洲一区二区中文在线| 91精品国产综合久久久久久久久久| 三级一区在线视频先锋| 欧美大度的电影原声| 国产福利一区二区三区在线视频| 久久久91精品国产一区二区三区| 不卡区在线中文字幕| 亚洲人成在线播放网站岛国| 欧美人狂配大交3d怪物一区| 国内精品免费在线观看| 国产精品的网站| 欧美三级日本三级少妇99| 久久精品国产亚洲高清剧情介绍| 国产色一区二区| 欧洲生活片亚洲生活在线观看| 日韩电影一区二区三区四区| 国产午夜亚洲精品羞羞网站| 97久久人人超碰| 三级一区在线视频先锋| 国产亚洲午夜高清国产拍精品| 99久久99久久精品国产片果冻| 亚洲成在人线免费| 久久精品人人做人人爽人人| 91麻豆精品一区二区三区| 日韩激情视频在线观看| 国产精品美女一区二区三区| 欧美日韩中文精品| 国产精品一二三| 亚洲一级电影视频| 91福利视频在线| 日韩成人伦理电影在线观看| 欧美精品一区二区在线观看| 色乱码一区二区三区88| 无码av免费一区二区三区试看| 欧美日韩视频在线第一区 | www.99精品| 亚洲一区二区视频在线观看| 久久久精品日韩欧美| 91美女片黄在线观看| 日本不卡视频在线| 综合久久综合久久| 666欧美在线视频| 国产欧美一区二区三区鸳鸯浴 | 国产自产高清不卡| 成人午夜私人影院| 久久综合一区二区|