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

📄 flash.h

📁 名厂车载GPS通信终端
💻 H
字号:
#ifndef FLASH_H
#define FLASH_H                 1

#ifdef FLASH_GLOBAL
#define FLASH_EXT

typedef struct
{
   uint      start_addr;
   uint      datalen;
   const uchar  far *init;
} FLASH_INIT;

#else
#define FLASH_EXT extern
#endif

#define USER_SECTOR      0
#define USER_BAK_SECTOR  1

#define MAX_FLAG_NUM     16

#define MAX_PORT_AREA    3		//added by leon 051013

typedef struct          //simcard information
{
	UCHAR				MyNumb[15];				//
	UCHAR				IpAddr[16];				//16
	UCHAR				SocketPort[6];			//5
	UCHAR				Apn[21];				//20

	UCHAR				User[21];				//2004.10.25//
	UCHAR				Password[21];			//2004.10.25//
	uint           crc;

}_SIMCARDMANAGE;

typedef struct   //added by leon 051013
{
	DWORD       lati;
	DWORD		longi;
}_POSITION;

typedef struct  //added by leon 051013
{
	_POSITION    top_left;
	_POSITION    right_bottom;
}_DISTRICTPORT;

typedef struct  //added by leon 051013
{
	_DISTRICTPORT mainland_port;
	_DISTRICTPORT extraarea_port;
	_DISTRICTPORT extraarea_map;
}_JUDGEPORT;  

typedef struct  //modified by leon 051013
{
	//DWORD		  sim_longi;
	//DWORD		  sim_lati;
	//signed int  slope;
	_JUDGEPORT    judge_port[MAX_PORT_AREA];
	uchar         set_port_number;
	uint     	  crc;
}_JUDGESIMCARD;  //切换simcard的区域。//

typedef struct
{
	uchar	voltage;
	uchar	overarea;
	uchar	burgle;
	uchar rop;
	uchar	gpserr;
	uchar	powererr;
	uchar	remoteerr;
	uchar	remotealarm;
	uchar	sos;
	uchar	overspeed;
	uchar	accerr;
	uchar	drag;
	uint  crc;
}  _ALARMTIME;

typedef struct
{
	UCHAR	User0Limit[10][15];
	UCHAR	User1Limit[10][15];
//	UCHAR	ManageCentreNumb[15];
	UCHAR	ManageCentreNumb[2][15]; //added by leon 050923
//	UCHAR    MessageServiceNumb[15];
	UCHAR	MessageServiceNumb[2][15];  //added by leon 050919
//	UCHAR	MessagePlainNumb[15];
//	UCHAR	HelpNumb[15];
//	UCHAR	AskNumb[15];
//   UCHAR	User0Numb[15];
//   UCHAR	User1Numb[15];
//	UCHAR	TrackVddNumb[15];
//	UCHAR	AwakeNumb[15];
//	UCHAR	SosVddNumb[15];
//	UCHAR	ReleaseAlarmNumb[15];
//	UCHAR	ListenNumb[15]; 
	UCHAR	ListenNumb[2][15];  //added by leon 050915
	uint  crc;
}_PhoneNumber;

typedef struct
{
	UCHAR	sn[16];
	WORD	crc1;
	WORD	crc2;
	WORD	crc3;
	WORD	crc4;
	WORD	curpack;
	WORD	totalpack;
	uint  crc;
} _SOFTWAREINFO;

typedef union
{
   struct{
   char    consume:1;
   char    private:1;           //私隐模式//
   char    dial:1;              //接听模式 自动/手动//
   char    voice:1;             //通话模式 手柄、免提//
   char    simid:1;             //simcard的选择0:卡1,1:卡2//
   char    defend:1;            //布防撤防 1 布防 0 撤防//
   char    b6:1;
   char    b7:1;
   char    b8:1;
   char    b9:1;
   char    b10:1;
   char    b11:1;
   char    b12:1;
   char    b13:1;
   char    b14:1;
   char    b15:1;
   }bit;
   uint words;
}_M_MODE;

typedef union
{
   struct{
   char    door:1;              //门//
   char    engine:1;            //引擎盖//
   char    bak:1;
   char    keep:1;
   char    rainer:1;
   char    carled:1;            //车灯//
   char    ultra:1;             //超声波//
   char    shake:1;             //振动//
  }bit;
  uchar ch;
}_IO_MODE;

typedef struct
{
   uint      low_voltage;
   uint      max_speed;
   _M_MODE   mode;
   _IO_MODE  io;
   uchar     gprs_mode;
   uint      gprs_time;
   uchar     handvolume;
   uchar     volume;
   uchar     phone_mode;
   uchar     interval;
   uint      fixtime;   //modified by leon from uchar to uint (2bytes)
   uchar     need_service;
   uint      crc;
}_BASE_VALUE;

typedef struct
{
	uchar handpsw[8];
	uint   crc;
}_USERDEFINATION;

typedef struct
{
   uchar          flag;
   _SIMCARDMANAGE simcard[2];
   _JUDGESIMCARD  	simsel;
   _ALARMTIME     	alarmtime;
   _PhoneNumber   	phonenumber;
   _BASE_VALUE      	basevalue;
   _USERDEFINATION psw;
}_SAVE;

#define  PARA_SIMCARD     0
#define  PARA_JUGECARD    1
#define  PARA_ALARM       2
#define  PARA_PHONE       3
#define  PARA_BASE_VALUE  4
#define  PARA_PWD         5

FLASH_EXT _SAVE save;
FLASH_EXT _SOFTWAREINFO soft;
FLASH_EXT uchar bak_sn[16];
//-------------------------------------------------
FLASH_EXT  void Init_Flash(void);
FLASH_EXT uchar Isflash_Valid(uchar sector);
FLASH_EXT void Write_Flash_Head(uchar sector);
FLASH_EXT uint Cal_Offer(uchar para);
FLASH_EXT uchar Read_Sector(uchar sector);
FLASH_EXT void Init_All_Para(void);
FLASH_EXT uchar Read_All_Para(void);
FLASH_EXT void Para_Crc(uchar para);
FLASH_EXT void Store_Sector(uint sector);
FLASH_EXT void Store_Paras(void);
FLASH_EXT void Store_All_Para(void);
FLASH_EXT void ReadSoftInfo(void);
FLASH_EXT void WriteSoftInfo(void);
FLASH_EXT void ClearFlashCode(void);
FLASH_EXT void InitSoftWare(void);
#endif 

⌨️ 快捷键说明

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