⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 car_sim300.c

📁 GPRS-GPS车载机控制源码
💻 C
📖 第 1 页 / 共 5 页
字号:
/**************************************************************
Copyright (C), 2002-2030, HuerXun Tech. Co., Ltd.
文件名  :  AnyData.c

作  者  : 华 猛       版本:V1.00.00       完成日期:2007-01-27

描  述  : 


函数列表: 
修改记录1:
日  期  :
修改人  :
修改说明:

修改记录2:
日  期  :
修改人  :
修改说明:
***************************************************************/
#include <stm32f10x_lib.h>              /* STM32F10x Library Definitions      */             
#include<string.h>
#include <stdio.h>

#ifndef NULL
 #define NULL ((void *) 0L)
#endif

#ifndef           OK
    #define       OK        1
#endif

#ifndef           NOT_OK
    #define       NOT_OK    0
#endif


#define        DELAY_TIME_START_VALUE    1
#define        WDT_TIME                  0x00

#define        CHECK_WORD1               'm'
#define        CHECK_WORD2               'h' 

#define        PASSWORD_STAR_ADDR         0x0000
#define        MONT_PHONE_STAR_ADDR       0x0010
#define        SEVER_IP_STAR_ADDR         0x0050
#define        CHECK_WORD_STAR_ADDR       0x0070
#define        LCT_TIME_IN_STAR_ADDR      0x0080
#define        DEVICE_PHONE_STAR_ADDR     0x0090
#define        SIM_CCID_STAR_ADDR         0x00a0
#define        CENTER_MODEM_STAR_ADDR     0x00b0
#define        LCT_TIME_INTV_ADDR         0x00c0
#define        OVER_SPEED_IN_STAR_ADDR    0x00d0
#define        OVER_SPEED_INTV_ADDR       0x00e0
#define        PHONE_LOCATION_MODE        0x00f0
#define        GPRS_APN_STAR_ADDR         0x0500//保存gprs接入点首地址



/*--------------------标准数据类型重定义-----------------------*/
typedef  unsigned char  BYTE;    //无符号字符型(或者字节型)
typedef    signed char  SBYTE;   //有符号字节型(或者字节型)
typedef  unsigned short WORD;    //无符号整型(或者字型)
typedef    signed short SWORD;   //有无符号整型(或者字型)
typedef  unsigned long  DWORDS;   //无符号长整型(或者双字型)
typedef    signed long  SDWORD;  //有符号长整型(或者双字型)
/*---------------------------------------------------------------*/

/***************************time***************************************/
#define    AT_CMD_WAITING_TIMER      0//等待AT命令发送超时定时器
#define    LED_FLASHING_TIMER        1//LED灯闪定时器
#define    GPS_CHECK_WAITING_TIMER   2//GPS数据检测定时器
#define    SWAP_GPS_LCT_TIMER        3//定时请求交换数据到用户手机
#define    TCP_CCNT_START_TIMER      4//TCP已经连接,等待数据交换超时定时器


#define    MAX_LED_FLASH_TIME        20//<256
#define    MAX_LED_FLASH_TIME1       20//<256

#define    MAX_CHECK_SPEED_CNT       10
#define    MAX_CHECK_OVER_SPEED_CNT  5

typedef struct{
  BYTE  bStartFb;                      //1-启动定时器 ,0-关闭定时器
  WORD  wOverValue;                    //定时器溢出值
  void (*pfTimerFunction)(void);       //定时器溢出时间函数指针
}recTIMER_A;//A型定时器结构:单定时触发


#define    MAX_A_SOFT_TIMERS     5    //系统最大A类软定时器数目
#define    MIN_TIME_PERIOD       100   //最小定时周期单位1s

recTIMER_A        REC_A_SoftTimers[MAX_A_SOFT_TIMERS];//A类软件定时器组
WORD  volatile   W_TimeCount=0;//定时器基数循环变量//volatile
BYTE              B_CheckKeyTimer[4];
WORD              W_CheckConts[4];

BYTE               FB_Led=0,FB_Led1=0;
BYTE   volatile   B_LedTimer=0,B_LedTimer1=0;//LED灯闪定时器

BYTE   			   GPS_V_F=0,GPS_CCNT_F=0;
BYTE   volatile   B_GpsVFTimer = 0;

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


/****************************serial*******************************************/
#define  MAX_SERIAL_LEN         280  //定义最大串口1接收缓冲数
#define  MAX_SERIAL_LEN2        140   //100定义最大串口2接收缓冲数
#define  MAX_TCP_SERIAL_LEN     210  //定义最大tcp数据接收缓冲数

BYTE     B_SerialQueue[MAX_SERIAL_LEN];//串口接收队列
WORD     W_InSerial=0,W_OutSerial=0;//读写B_SerialQueue时进/出队列位置

BYTE     B_SerialQueue2[MAX_SERIAL_LEN2];//串口接收队列
WORD     W_InSerial2=0,W_OutSerial2=0;//读写B_SerialQueue时进/出队列位置

BYTE     B_TcpSerialQueue[MAX_TCP_SERIAL_LEN];//串口接收队列
WORD     W_TcpInSerial=0,W_TcpOutSerial=0;//读写B_TcpSerialQueue时进/出队列位置
/*****************************************************************************/


#define  MAX_RECV_SMS_NUM    76

BYTE     B_SMSExist[MAX_RECV_SMS_NUM];//SIM卡上可存储76条SMS  =0表示没有对应的短消息,=1表示有短消息要读,=2表示此条短消息已读
BYTE       FB_NextGsmMsg=0;//指示短消息已经读出来了
BYTE       FB_NextCCID=0;//指示SIM卡的标示号读出来了
BYTE       FB_CSCASet=0;//指示是查询还是设置短消息中心号码
BYTE       IpdFlag=0;
BYTE       FB_AtdReg=0;
BYTE       FB_AtdDelayStart=0;
BYTE 	   B_AtdDelayTimer=0;
BYTE       Call_Rdy=0;//模块允许呼叫标志
BYTE       Call_Modem=0;//呼叫中心MODEM标志

BYTE       FB_RestPro=0;//重启程序标志

BYTE     B_EnCodeSms[140];//PDU BIT7位编码数据内容
BYTE     B_EnCodeLen;     //PDU BIT7位编码长度

BYTE     B_OnOff_FLAG=0;//开关机标志
WORD     W_PowerSwitchTimer=0;//sim508重启计时
BYTE     B_NoCsqTimer=0;//无信号强度计时
BYTE     B_NetValue_1_Cnt=0;//网络标志值为'1'的时长

/*********************************************AT Commands**************************************************/
/***********************************************************************************************************
CIPSTATUS CIPHEAD CIPSPRT CNMI SIDET ECHO CLVL CMIC CHFA CSCA CSTA CSCS CMGF CLIP CREG ATE0
   15       14      13     12    11   10   09   08   07   06   05   04   03   02   01   00
    0        1       0      1  ,  1    1    1    1  , 1    0    0    0  , 0    1    1    1 
************************************************************************************************************

************************************************************************************************************
CMGS  CLCC    CONT  CSTT  CIPSEND CIPSTART ATH  CSQ  VTS  ATD  ATA  CIPSHUT CIPCLOSE  CMGL   CMGD CMGR
 31    30      29    28     27      26      25   24   23   22   21    20      19       18     17   16
  0     0       0     0  ,   0       0       0    1  , 0    0    0     0  ,    0        0      0    0
*************************************************************************************************************/

#define     MAC_ATE0_ITEM          0
#define     MAC_CREG_ITEM          1
#define     MAC_CLIP_ITEM          2
#define     MAC_CMGF_ITEM          3
#define     MAC_CSCS_ITEM          4
#define     MAC_CSTA_ITEM          5
#define     MAC_CSCA_ITEM          6
#define     MAC_CHFA_ITEM          7
#define     MAC_CMIC_ITEM          8
#define     MAC_CLVL_ITEM          9
#define     MAC_ECHO_ITE M         10
#define     MAC_SIDET_ITEM         11
#define     MAC_CNMI_ITEM          12
#define     MAC_CIPSPRT_ITEM       13
#define     MAC_CIPHEAD_ITEM       14
#define     MAC_CIPSTATUS_ITEM     15
#define     MAC_CMGR_ITEM          16
#define     MAC_CMGD_ITEM          17
#define     MAC_CMGL_ITEM          18
#define     MAC_CIPCLOSE_ITEM      19
#define     MAC_CIPSHUT_ITEM       20
#define     MAC_ATA_ITEM           21
#define     MAC_ATD_ITEM           22
#define     MAC_VTS_ITEM           23
#define     MAC_CSQ_ITEM           24
#define     MAC_ATH_ITEM           25
#define     MAC_CIPSTART_ITEM      26
#define     MAC_CIPSEND_ITEM       27
#define     MAC_CSTT_ITEM          28
#define     MAC_CONT_ITEM         29
#define     MAC_CLCC_ITEM          30
#define     MAC_CMGS_ITEM          31

#define    MAC_SET_AT_CMD    0x01007fa7

typedef enum  {
  NO_COMMAND_WAIT,
  WAIT_ATE0,WAIT_CREG,WAIT_CLIP,WAIT_CMGF,
  WAIT_CSCS,WAIT_CSTA,WAIT_CSCA,WAIT_CHFA,
  WAIT_CMIC,WAIT_CLVL,WAIT_ECHO,WAIT_SIDET,
  WAIT_CNMI,WAIT_CIPSPRT,WAIT_CIPHEAD,WAIT_CIPSTATUS,
  WAIT_CMGR,WAIT_CMGD,WAIT_CMGL,WAIT_CIPCLOSE,
  WAIT_CIPSHUT,WAIT_ATA,WAIT_ATD ,WAIT_VTS,
  WAIT_CSQ,WAIT_ATH,WAIT_CIPSTART,WAIT_CIPSEND,
  WAIT_CSTT,WAIT_CONT,WAIT_CLCC, WAIT_CMGS,
  WAIT_SEND_MSG
}  enEchoWait;

typedef struct  {
  enEchoWait    eAtCmdStatus;//AT命令标签
  BYTE          bAtCommand[45];//AT命令字符串
}recAtCmd;  	

/**********定义收到的字符串及响应的确认函数结构**************/
struct FunctionTable
{
  BYTE   *pbCmdStr;
  void  (*pfCmdFun)(void);
};

enEchoWait    EN_CommandStatus=NO_COMMAND_WAIT;	 //发送AT命令后的等待状态
BYTE          B_AtCommandItem=0xff;                 //当前已发送的AT命令的索引
BYTE          B_AtCmdTimes=0;                       //同一个AT命令重复发送的次数

WORD          W_InternalLctTimer;                 //定时定位时间间隔,单位分钟
WORD          W_OverSpeedValue;                   //超速速度,单位km/h

DWORDS  DW_MapTbl[ ]={ 0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010, 0x00000020, 0x00000040, 0x00000080,
			       	       0x00000100, 0x00000200, 0x00000400, 0x00000800, 0x00001000, 0x00002000, 0x00004000, 0x00008000,
						   0x00010000, 0x00020000, 0x00040000, 0x00080000, 0x00100000, 0x00200000, 0x00400000, 0x00800000,
						   0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000,
						   0x00000000
                          };//定义检测需发送AT命令的参考标量


DWORDS     DW_SetAtCmdFlag = MAC_SET_AT_CMD;//0x01007fa7//是否发该AT命令的标志,1-发送,0-不发送0x01447fe7

/***********************************************************************************************************
CIPSTATUS CIPHEAD CIPSPRT CNMI SIDET ECHO CLVL CMIC CHFA CSCA CSTA CSCS CMGF CLIP CREG ATE0
   15       14      13     12    11   10   09   08   07   06   05   04   03   02   01   00
    0        1       1      1  ,  1    1    1    1  , 1    0    1    0  , 0    1    1    1 
************************************************************************************************************

************************************************************************************************************
CMGS  CLCC    CONT  CSTT  CIPSEND CIPSTART ATH  CSQ  VTS  ATD  ATA  CIPSHUT CIPCLOSE  CMGL   CMGD CMGR
 31    30      29    28     27      26      25   24   23   22   21    20      19       18     17   16
  0     0       0     0  ,   0       0       0    1  , 0    0    0     0  ,    0        0      0    0
*************************************************************************************************************/
//AT+CSTA=145

recAtCmd    REC_AtCommands[32]={
WAIT_ATE0,"ATE1", WAIT_CREG,"AT+CREG=1", WAIT_CLIP,"AT+CLIP=1", WAIT_CMGF,"AT+CMGF=0",
WAIT_CSCS,"AT+CSCS=\"GSM\"", WAIT_CSTA,"AT+CCID", WAIT_CSCA,"AT+CSCA", WAIT_CHFA,"AT+CHFA=1",
WAIT_CMIC,"AT+CMIC=1,6", WAIT_CLVL,"AT+CLVL=73", WAIT_ECHO,"AT+ECHO=0,0,0,1", WAIT_SIDET,"AT+SIDET=4096",
WAIT_CNMI,"AT+CNMI?", WAIT_CIPSPRT,"AT+CIPSPRT=0", WAIT_CIPHEAD,"AT+CIPHEAD=1", WAIT_CIPSTATUS,"AT+CIPSTATUS",
WAIT_CMGR,"AT+CMGR=", WAIT_CMGD,"AT+CMGD=", WAIT_CMGL,"AT+CMGL=4", WAIT_CIPCLOSE,"AT+CIPCLOSE",
WAIT_CIPSHUT,"AT+CIPSHUT", WAIT_ATA, "ATA", WAIT_ATD, "ATD", WAIT_VTS, "AT+VTS=",
WAIT_CSQ, "AT+CSQ", WAIT_ATH, "ATH", WAIT_CIPSTART,"AT+CIPSTART=\"TCP\",",WAIT_CIPSEND,"AT+CIPSEND=", 
WAIT_CSTT,"AT+CSTT=", WAIT_CONT,"AT+CIPSCONT", WAIT_CLCC,"AT+CLCC", WAIT_CMGS,"AT+CMGS="
};//220.194.62.247:1238//202.96.155.118//220.205.139.106


/********************************CDMA 数据处理*************************************/
#define    IDILE                0     //空闲
#define    DIALING              1     //拨号
#define    RING                 2     //来电
#define    CCNT                 3     //接通

#define       MAX_CDMA_FRM_LEN      255     //CDMA输出一帧数据最大字符数
#define       MAX_GPS_FRM_LEN       100     //GPS输出一帧数据最大字符数
#define       MAX_TCP_CDMA_FRM_LEN  255     //CDMA_TCP输出一帧数据最大字符数

#define       MAX_SEND_SMS_LEN      140      //发送一条短消息的最大字符数
#define       MAX_PHONE_NUM         16       //电话号码的最大长度

#define       MAX_AT_CMD_ERRORS     3        //AT命令最大出错次数

BYTE     B_CdmaFrmBuf[MAX_CDMA_FRM_LEN];//用来存放被正确读取的一帧CDMA数据:AT+CSQ....0x0d,0x0a
WORD     W_CdmaFrmBufLen=0;//CDMA帧数据长度

BYTE     B_GpsFrmBuf[MAX_GPS_FRM_LEN];//用来存放被正确读取的一帧GPS数据:$GPRMC,....0x0d,0x0a
WORD     W_GpsFrmBufLen=0;//GPS帧数据长度

BYTE     B_TcpCdmaFrmBuf[MAX_TCP_CDMA_FRM_LEN];//用来存放被正确读取的一帧CDMA TCP数据

BYTE     B_SmsSendItem[MAX_SEND_SMS_LEN];//一条短消息的内容
BYTE     B_SmsSendLen=0;//需要发送短消息内容的长度

BYTE     B_TalkStatus=IDILE;//电话状态
BYTE     B_NetStatus=0;//网络状态		

BYTE     B_AlarmFlag[4];

BYTE     B_UserNum[MAX_PHONE_NUM];	//用户电话号码
BYTE     B_DeviceNum[MAX_PHONE_NUM];//设备标识号码	
BYTE     B_ScaPhone[MAX_PHONE_NUM];//短消息中心号码

BYTE 	  FB_RelayStart=0;
BYTE     B_RelayTime=0,B_DelayTimeValue=0;

BYTE     B_Screen=0;

BYTE	B_SpeedEnableCnt=0,B_SpeedOverCnt=0,B_StarORStop=0,B_OverORNormal=0;
BYTE    B_OverBeepStart=0;
BYTE  volatile  B_OverBeepTimer=0;//超速报警执行
				



BYTE      B_PwdSetRet1[14] = {0x5b,0xc6,0x78,0x01,0x66,0xf4,0x65,0xb0,0x62,0x10,0x52,0x9f,0x00,0x21};   //密码更新成功!
BYTE      B_PwdSetRet0[14] = {0x5b,0xc6,0x78,0x01,0x66,0xf4,0x65,0xb0,0x59,0x31,0x8d,0x25,0x00,0x21};   //密码更新失败!

BYTE      B_PhoneSetRet1[18]={0x76,0xd1,0x63,0xa7,0x53,0xf7,0x78,0x01,0x8b,0xbe,0x7f,0x6e,0x62,0x10,0x52,0x9f,0x00,0x21};   //监控号码设置成功!

BYTE      B_PhoneSetRet0[28]={0x76,0xd1,0x63,0xa7,0x53,0xf7,0x78,0x01,0x8b,0xbe,0x7f,0x6e,0x59,0x31,0x8d,0x25,0x00,0x2c,0x5b,0xc6,0x78,0x01,0x67,0x09,0x8b,0xef,0x00,0x21};   //监控号码设置失败,密码有误!

//BYTE      B_LcntFailRet[26]= {0x8b,0xf7,0x6c,0x42,0x5b,0x9a,0x4f,0x4d,0x59,0x31,0x8d,0x25,0x00,0x2c,0x8b,0xf7,0x7a,0x0d,0x54,0x0e,0x51,0x8d,0x8b,0xd5,0x00,0x21};             //请求定位失败,请稍后再试!

//BYTE      B_TcpFailRet[22]=  {0x7f,0x51,0x7e,0xdc,0x7E,0x41,0x5F,0xD9,0x00,0x2c,0x8b,0xf7,0x7a,0x0d,0x54,0x0e,0x51,0x8d,0x8b,0xd5,0x00,0x21}; //网络繁忙,请稍后再试!
BYTE      B_TcpFailRet[94] = { 0x79,0xFB,0x52,0xA8,0x51,0x6C,0x53,0xF8,0x00,0x47,
								   0x00,0x50,0x00,0x52,0x00,0x53,0x7F,0x51,0x7E,0xDC,
								   0x4E,0x0D,0x7A,0x33,0x5B,0x9A,0xFF,0x0C,0x89,0xE3,
								   0x67,0x90,0x4E,0x0D,0x62,0x10,0x52,0x9F,0x67,0x1B,
								   0x8C,0x05,0x89,0xE3,0xFF,0x01,0x4E,0xBA,0x5D,0xE5,
								   0x67,0xE5,0x8B,0xE2,0x75,0x35,0x8B,0xDD,0x00,0x30,
								   0x00,0x37,0x00,0x35,0x00,0x35,0x00,0x2D,0x00,0x32,
								   0x00,0x35,0x00,0x39,0x00,0x32,0x00,0x33,0x00,0x38,
								   0x00,0x34,0x00,0x35,0xFF,0x0C,0x7E,0xCF,0x7E,0xAC,
								   0x5E,0xA6,0xFF,0x1A};//移动公司GPRS网络不稳定,解析不成功望谅解!人工查询电话0755-25923845,经纬度:

BYTE      B_AlarmRet[4][98]= {  0x7D, 0x27, 0x60, 0x25, 0x62, 0xA5, 0x8B, 0x66, 0x62, 0x16, 
								0x6C, 0x42, 0x52, 0xA9, 0xFF, 0x01, 0x56, 0xDE, 0x59, 0x0D, 
								0x00, 0x47, 0x52, 0xa0, 0x5b, 0xc6, 0x78, 0x01, 0x53, 0xEF, 
								0x53, 0xD1, 0x8D, 0x77, 0x5B, 0x9A, 0x4F, 0x4D, 0xFF, 0x0C, 
								0x56, 0xDE, 0x62, 0xE8, 0x75, 0x35, 0x8B, 0xDD, 0x53, 0xEF, 
								0x76, 0xD1, 0x54, 0x2C, 0x8F, 0x66, 0x51, 0x85, 0x60, 0xC5, 
								0x51, 0xB5, 0xFF, 0x01, 0x55, 0x2E, 0x54, 0x0E, 0x70, 0xED, 
								0x7E, 0xBF, 0x00, 0x30, 0x00, 0x37, 0x00, 0x35, 0x00, 0x35, 
								0x00, 0x2D, 0x00, 0x32, 0x00, 0x35, 0x00, 0x39, 0x00, 0x32, 
								0x00, 0x33, 0x00, 0x38, 0x00, 0x34, 0x00, 0x35,
								
								0x59, 0x82, 0x67, 0x65, 0x4E, 0x4B, 0x66, 0x1F, 0x63, 0xD0,
								0x91, 0x92, 0xFF, 0x1A, 0x8B, 0xBE, 0x59, 0x07, 0x4E, 0x3B,
								0x75, 0x35, 0x6E, 0x90, 0x67, 0x09, 0x65, 0x45, 0x96, 0x9C,
								0xFF, 0x0C, 0x8B, 0xF7, 0x53, 0xCA, 0x65, 0xF6, 0x59, 0x04,
								0x74, 0x06, 0xFF, 0x01, 0x00, 0x20, 0x00, 0x20, 0x20, 0x00,
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,  
								
								0x59, 0x82, 0x67, 0x65, 0x4E, 0x4B, 0x66, 0x1F, 0x63, 0xD0, 
								0x91, 0x92, 0xFF, 0x1A, 0x8F, 0x66, 0x8F, 0x86, 0x67, 0x09, 
								0x63, 0x2F, 0x52, 0xA8, 0xFF, 0x0C, 0x8B, 0xF7, 0x6C, 0xE8, 
								0x61, 0x0F, 0x8F, 0x66, 0x8F, 0x86, 0x5B, 0x89, 0x51, 0x68, 
								0xFF, 0x01, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
								
								0x59, 0x82, 0x67, 0x65, 0x4E, 0x4B, 0x66, 0x1F, 0x63, 0xD0, 
								0x91, 0x92, 0xFF, 0x1A, 0x8F, 0x66, 0x8F, 0x86, 0x67, 0x09, 
								0x63, 0x2F, 0x52, 0xA8, 0xFF, 0x0C, 0x8B, 0xF7, 0x6C, 0xE8, 
								0x61, 0x0F, 0x8F, 0x66, 0x8F, 0x86, 0x5B, 0x89, 0x51, 0x68, 
								0xFF, 0x01, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 
								0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20};
								


BYTE      B_DeviceNumRet1[18] = {0x62, 0x4B, 0x67, 0x3A, 0x53, 0xf7, 0x78, 0x01, 0x8B, 0xBE, 0x7F, 0x6E, 0x62, 0x10, 0x52, 0x9F, 0x00, 0x21};

BYTE      B_DeviceNumRet0[18] = {0x62, 0x4B, 0x67, 0x3A, 0x53, 0xf7, 0x78, 0x01, 0x8B, 0xBE, 0x7F, 0x6E, 0x59, 0x31, 0x8d, 0x25, 0x00, 0x21};

BYTE      B_ModemNumRet1[20] =  {0x4E, 0x2D, 0x5F, 0xC3, 0x73, 0x2B, 0x53, 0xf7, 0x78, 0x01, 0x8B, 0xBE, 0x7F, 0x6E, 0x62, 0x10, 0x52, 0x9F, 0x00, 0x21};

BYTE      B_ModemNumRet0[20] =  {0x4E, 0x2D, 0x5F, 0xC3, 0x73, 0x2B, 0x53, 0xf7, 0x78, 0x01, 0x8B, 0xBE, 0x7F, 0x6E, 0x59, 0x31, 0x8d, 0x25, 0x00, 0x21};

BYTE      B_GPSLctRet[20]= {0x5B, 0xC6, 0x78, 0x01, 0x95, 0x19, 0x8B, 0xEF, 0x00, 0x2C, 
								0x65, 0xE0, 0x67, 0x43, 0x5B, 0x9A, 0x4F, 0x4D, 0x00, 0x21};
								
//BYTE      B_LctInTimeNotice[26] = {0x52,0x06,0x94,0x9F,0x95,0xF4,0x96,0x94,0x76,0x84,0x5B,0x9A,0x65,0xF6,0x8F,0xFD,0x8E,0x2A,0x5D,0xF2,0x54,0x2F,0x52,0xA8,0x00,0x21};								
BYTE      B_LctInTimeNotice[24] = {0x79,0xd2,0x95,0xF4,0x96,0x94,0x76,0x84,0x5B,0x9A,0x65,0xF6,0x8F,0xFD,0x8E,0x2A,0x5D,0xF2,0x54,0x2F,0x52,0xA8,0x00,0x21};								

BYTE      B_OverSpeedSetNotice[30] = {0x00,0x4b, 0x00,0x6d, 0x00,0x2f, 0x00,0x68, 0x8D,0x85, 0x90,0x1F, 0x62,0xA5, 0x8B,0x66, 0x90,0x1F, 0x5E,0xA6, 0x8B,0xBE, 0x7F,0x6E, 0x62,0x10, 0x52,0x9F, 0x00,0x21,};//超速报警速度设置成功
//BYTE      B_N1234Notice[8] = {0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26};

BYTE      B_X_Ret[58]={ 0x5B,0xC6,0x78,0x01,0x95,0x01,0x8F,0x66,0x5D,0xF2,
					  0x54,0x2F,0x52,0xA8,0xFF,0x0C,0x56,0xDE,0x59,0x0D,
					  0x00,0x4B,0x52,0xA0,0x5B,0xC6,0x78,0x01,0x89,0xE3,
					  0x96,0x64,0x30,0x02,0x8B,0x66,0x54,0x4A,0xFF,0x0C,
					  0x8B,0xE5,0x52,0x9F,0x80,0xFD,0x88,0x4C,0x9A,0x76,
					  0x4E,0x2D,0x52,0xFF,0x75,0x28,0xFF,0x01};
					  
BYTE     B_K_Ret[16]={  0x5B,0xC6,0x78,0x01,0x95,0x01,0x8F,0x66,0x5D,0xF2,
					    0x89,0xE3,0x96,0x64,0xFF,0x01};
					    
BYTE     B_Phone_Lct_Mode[22] = {0x75,0x35,0x8B,0xDD,0x5B,0x9A,0x4F,0x4D,
                                 0x6A,0x21,0x5F,0x0F,0x8B,0xBE,0x7F,0x6E,0x62,0x10,0x52,0x9F,0x00,0x21};
/********************************定义GPS初始化值************************************************/
/*
BYTE  bGPSIinitTable[32] = {0xA0,0xA2,0x00,0x18, //----------------------//head
						  	0x81,0x02, //message id
						  	0x00,0x01, // GGA output interval , has CheckSum?(1/0) (6,7)
						  	0x00,0x01, // GLL (8,9)
							0x00,0x01, //GSA (10,11)
							0x00,0x01, //GSV
							0x01,0x01, //RMC
							0x00,0x01, //VTG

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -