96 lines
2.7 KiB
C
96 lines
2.7 KiB
C
|
|
#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
|