📄 car_sim300.c
字号:
/**************************************************************
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 + -