#ifndef _AT45DB_H_ #define _AT45DB_H_ /*H***************************************************************************** * NAME: at45db.h *******************************************************************************/ //***************************************************************************** /*_____ M A C R O S __________________________________________________________*/ //端口定义 #define AT45DB_CS_EN GPIO_ResetBits(GPIOA, GPIO_Pin_4);GPIO_SetBits(GPIOA, GPIO_Pin_3); #define AT45DB_CS_DIS GPIO_SetBits(GPIOA, GPIO_Pin_4); //****************************************************************************** // #define FLASH_APP_ADDR 0x08008000 //第一个应用程序起始地址(存放在FLASH) #define RomUpDataAddr_Old 0 #define RomUpDataAddr_New 1024 #define FuniGlobal F_uniGlobal.u //****************************************************************************** // AT45DB_DATA_MAP #define checkLen_1 1 ///如果数据组带有校验,增加1byte //存储器完好标致 ///全局缓冲中的值 #define buf_ATDB45_Flag FuniGlobal.ATDB45_Flag ///结构体定义 #define ATDB45_Flag_FADR (0) #define ATDB45_Flag_LEN (sizeof(buf_ATDB45_Flag) + checkLen_1) #define ATDB45_Flag_Group 1 //组数 ///全局缓冲中的值 #define buf_Frame FuniGlobal.Frame ///结构体定义 #define Frame_FADR (ATDB45_Flag_FADR + ATDB45_Flag_Group) #define Frame_LEN sizeof(buf_Frame) + checkLen_1 #define Frame_Group 2048 //组数 ///全局缓冲中的值 #define buf_PREXDATA FuniGlobal.PREXDATA ///结构体定义 #define PREXDATA_FADR (Frame_FADR + Frame_Group) #define PREXDATA_LEN sizeof(buf_PREXDATA) + checkLen_1 #define PREXDATA_Group 2000 //组数 ///全局缓冲中的值 #define buf_DeviceFrame FuniGlobal.Frame ///结构体定义 #define DeviceFrame_FADR (PREXDATA_FADR + PREXDATA_Group) #define DeviceFrame_LEN sizeof(buf_DeviceFrame) + checkLen_1 #define DeviceFrame_Group 800*5 //组数 typedef struct { union { u8 Global[530]; //全局最大个数 u8 ATDB45_Flag; u8 Frame[512]; PREXDATA_Type PREXDATA[5]; }u; u8 CheckAdd; }F_uniGlobal_Typedef; //存储器读写缓存共用体 typedef enum { CA_ATDB45_Flag, CA_Frame, CA_PREXDATA, CA_DeviceFrame, AT45DBItemEnd, }AT45DBItem; //******************************************************************************** typedef struct { u8* pInitData;//初始化指针 u8* upData; //共用体数据缓存区指针 u8* pData; //pGun数据指针 u32 firstAdr; //第一地址 u16 len; //长度 u16 Group; u8 Tpye; //类型 }AT45DBDataIndex; u8 AT45DBItemWrite(AT45DBItem Type, u16 Group); u8 AT45DBItemRead(AT45DBItem Type, u16 Group); void AT45DB_Data_Init(void); void AT45DB_Init(void); #endif