基础版本
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
#ifndef _FRam_H_
|
||||
#define _FRam_H_
|
||||
/******************************************************************************
|
||||
* NAME: fRam.h
|
||||
*******************************************************************************/
|
||||
/*_____ M A C R O S __________________________________________________________*/
|
||||
|
||||
|
||||
//端口
|
||||
#define FM_CS_EN GPIO_ResetBits(GPIOA, GPIO_Pin_3);GPIO_SetBits(GPIOA, GPIO_Pin_4);
|
||||
#define FM_CS_DIS GPIO_SetBits(GPIOA, GPIO_Pin_3);
|
||||
//FM 命令
|
||||
#define FM_WREN 0X06 //读写使能
|
||||
#define FM_READ 0X03 //读命令
|
||||
#define FM_WRITE 0X02 //写命令
|
||||
|
||||
#define CLI() __set_PRIMASK(1)
|
||||
#define SEI() __set_PRIMASK(0)
|
||||
|
||||
/*_____ M A C R O S __________________________________________________________*/
|
||||
//CONFIG(配置)
|
||||
#define FRAM_SPACE_SIZE (0X800) ///定义铁电最大保存容量
|
||||
#define FristStart_Addr 100
|
||||
//******************************************************************************
|
||||
// 存储器内容
|
||||
|
||||
#define uniGlobal s_uniGlobal.u
|
||||
|
||||
#define checkLen_1 1 ///如果数据组带有校验,增加1byte
|
||||
//******************************************************************************
|
||||
// FRAM_DATA_MAP
|
||||
//加密验证数据
|
||||
///全局缓冲中的值
|
||||
///结构体定义
|
||||
#define Encryption_FADR (80)
|
||||
|
||||
//存储器完好标致
|
||||
///全局缓冲中的值
|
||||
#define buf_FRam_Flag uniGlobal.FRam_Flag
|
||||
///结构体定义
|
||||
#define FRam_Flag_FADR (FristStart_Addr)
|
||||
#define FRam_Flag_LEN (sizeof(buf_FRam_Flag) + checkLen_1)
|
||||
#define FRam_Flag_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_ROM_UpData uniGlobal.ROM_UpData
|
||||
///结构体定义
|
||||
#define ROM_UpData_FADR (FRam_Flag_FADR + FRam_Flag_LEN * FRam_Flag_Group)
|
||||
#define ROM_UpData_LEN (sizeof(buf_ROM_UpData) + checkLen_1)
|
||||
#define ROM_UpData_Group 1 //组数
|
||||
|
||||
//员工数据
|
||||
///全局缓冲中的值
|
||||
#define buf_MD_Port_Data uniGlobal.MD_Port_Data
|
||||
///结构体定义
|
||||
#define MD_Port_Data_FADR (ROM_UpData_FADR + ROM_UpData_LEN * ROM_UpData_Group)
|
||||
#define MD_Port_Data_LEN (sizeof(buf_MD_Port_Data) + checkLen_1)
|
||||
#define MD_Port_Data_Group 4 //组数
|
||||
|
||||
//员工数据
|
||||
///全局缓冲中的值
|
||||
#define buf_POSData uniGlobal.POSData
|
||||
///结构体定义
|
||||
#define POSData_FADR (MD_Port_Data_FADR + MD_Port_Data_LEN * MD_Port_Data_Group)
|
||||
#define POSData_LEN (sizeof(buf_POSData) + checkLen_1)
|
||||
#define POSData_Group 1 //组数
|
||||
|
||||
//员工数据
|
||||
///全局缓冲中的值
|
||||
#define buf_MD_Port_Num_Top uniGlobal.MD_Port_Num_Top
|
||||
///结构体定义
|
||||
#define MD_Port_Num_Top_FADR (POSData_FADR + POSData_LEN * POSData_Group)
|
||||
#define MD_Port_Num_Top_LEN (sizeof(buf_MD_Port_Num_Top) + checkLen_1)
|
||||
#define MD_Port_Num_Top_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_PREXDATA_WaitUpNummber uniGlobal.PREXDATA_WaitUpNummber
|
||||
///结构体定义
|
||||
#define PREXDATA_WaitUpNummber_FADR (MD_Port_Num_Top_FADR + MD_Port_Num_Top_LEN * MD_Port_Num_Top_Group)
|
||||
#define PREXDATA_WaitUpNummber_LEN (sizeof(buf_PREXDATA_WaitUpNummber) + checkLen_1)
|
||||
#define PREXDATA_WaitUpNummber_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_PREXDATA_TTC uniGlobal.PREXDATA_TTC
|
||||
///结构体定义
|
||||
#define PREXDATA_TTC_FADR (PREXDATA_WaitUpNummber_FADR + PREXDATA_WaitUpNummber_LEN * PREXDATA_WaitUpNummber_Group)
|
||||
#define PREXDATA_TTC_LEN (sizeof(buf_PREXDATA_TTC) + checkLen_1)
|
||||
#define PREXDATA_TTC_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_PrintInfo uniGlobal.PrintInfo
|
||||
///结构体定义
|
||||
#define PrintInfo_FADR (PREXDATA_TTC_FADR + PREXDATA_TTC_LEN * PREXDATA_TTC_Group)
|
||||
#define PrintInfo_LEN (sizeof(buf_PrintInfo) + checkLen_1)
|
||||
#define PrintInfo_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_PrintLastRecord uniGlobal.PrintLastRecord
|
||||
///结构体定义
|
||||
#define PrintLastRecord_FADR (PrintInfo_FADR + PrintInfo_LEN * PrintInfo_Group)
|
||||
#define PrintLastRecord_LEN (sizeof(buf_PrintLastRecord) + checkLen_1)
|
||||
#define PrintLastRecord_Group 64 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_POSNetSetState uniGlobal.POSNetSetState
|
||||
///结构体定义
|
||||
#define POSNetSetState_FADR (PrintLastRecord_FADR + PrintLastRecord_LEN * PrintLastRecord_Group)
|
||||
#define POSNetSetState_LEN (sizeof(buf_POSNetSetState) + checkLen_1)
|
||||
#define POSNetSetState_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_MD_Multiplex_Port_Data uniGlobal.MD_Multiplex_Port_Data
|
||||
///结构体定义
|
||||
#define MD_Multiplex_Port_Data_FADR (POSNetSetState_FADR + POSNetSetState_LEN * POSNetSetState_Group)
|
||||
#define MD_Multiplex_Port_Data_LEN (sizeof(buf_MD_Multiplex_Port_Data) + checkLen_1)
|
||||
#define MD_Multiplex_Port_Data_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_WhiteList uniGlobal.WhiteList
|
||||
///结构体定义
|
||||
#define WhiteList_FADR (MD_Multiplex_Port_Data_FADR + MD_Multiplex_Port_Data_LEN * MD_Multiplex_Port_Data_Group)
|
||||
#define WhiteList_LEN (sizeof(buf_WhiteList) + checkLen_1)
|
||||
#define WhiteList_Group 1 //组数
|
||||
|
||||
///全局缓冲中的值
|
||||
#define buf_PREXDATA_Upload uniGlobal.PREXDATA_Upload
|
||||
///结构体定义
|
||||
#define PREXDATA_Upload_FADR (WhiteList_FADR + WhiteList_LEN * WhiteList_Group)
|
||||
#define PREXDATA_Upload_LEN (sizeof(buf_PREXDATA_Upload) + checkLen_1)
|
||||
#define PREXDATA_Upload_Group 1 //组数
|
||||
|
||||
typedef struct
|
||||
{
|
||||
union
|
||||
{
|
||||
u8 Global[1000]; //全局最大个数
|
||||
u8 FRam_Flag;
|
||||
MD_Port_Data_Type MD_Port_Data;
|
||||
POSData_Type POSData;
|
||||
u8 MD_Port_Num_Top;
|
||||
ROM_UpData_Type ROM_UpData;
|
||||
u32 PREXDATA_WaitUpNummber;
|
||||
u32 PREXDATA_TTC;
|
||||
PrintInfo_Type PrintInfo;
|
||||
PREXDATA_Type PrintLastRecord;//越南打印每把枪最后一笔数据
|
||||
POSNetSetState_TypeDef POSNetSetState;
|
||||
MD_Multiplex_Port_Data_Type MD_Multiplex_Port_Data;//端口5,多路复用口
|
||||
WhiteList_Type WhiteList;
|
||||
PREXDATA_Upload_Type PREXDATA_Upload;
|
||||
}u;
|
||||
u8 CheckAdd;
|
||||
}s_uniGlobal_Typedef; //存储器读写缓存共用体
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CF_FRam_Flag,
|
||||
CF_ROM_UpData,
|
||||
CF_MD_Port_Data,
|
||||
CF_POSData,
|
||||
CF_MD_Port_Num_Top,
|
||||
CF_PREXDATA_WaitUpNummber,
|
||||
CF_PREXDATA_TTC,
|
||||
CF_PrintInfo,
|
||||
CF_PrintLastRecord,
|
||||
CF_POSNetSetState,
|
||||
CF_MD_Multiplex_Port_Data,
|
||||
CF_WhiteList,
|
||||
CF_PREXDATA_Upload,
|
||||
|
||||
FramItemEnd,
|
||||
}FramItem;
|
||||
|
||||
//********************************************************************************
|
||||
typedef struct
|
||||
{
|
||||
u8* pInitData;//初始化指针
|
||||
u8* upData; //共用体数据缓存区指针
|
||||
u8* pData; //pGun数据指针
|
||||
u32 firstAdr; //第一地址
|
||||
u16 len; //长度
|
||||
u16 Group;
|
||||
u8 Tpye; //类型
|
||||
}framDataIndex;
|
||||
|
||||
void FM_Init(void);
|
||||
u8 FMItemWrite(FramItem Type, u16 Group);
|
||||
u8 FMItemRead(FramItem Type, u16 Group);
|
||||
void FM_Data_Init(void);
|
||||
void PCBEncryption(void);
|
||||
void PCBEncryption_Check(void);
|
||||
#endif
|
||||
Reference in New Issue
Block a user