forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-07 fa6053f85287163f6e2d5dba690bec05cbc95f4a
Function/E2P/EEPROM.h
@@ -45,8 +45,8 @@
/***********************EEP »ù±¾ÐÅÏ¢ÅäÖÃ*************************************/
#define  EEPROM_PHYS_SIZE  (32*1024)       //EEP´óС
#define  EEPROM_ADDR_BYTES2                //СÄÚ´æEEPÊý¾ÝµØÖ·Îª2×Ö½ÚÐ趨Òå
#define  EEPROM_PHYS_SIZE  (256*1024)       //EEP´óС
//#define  EEPROM_ADDR_BYTES2                //СÄÚ´æEEPÊý¾ÝµØÖ·Îª2×Ö½ÚÐ趨Òå
#define  EEPROM_CFG_BLOCK_SIZE  4096       //EEP×Ô¶¨Òå¿é´óС
#define  EEPROM_CFG_BLOCK_CNT   (EEPROM_PHYS_SIZE/EEPROM_CFG_BLOCK_SIZE)//EEP×Ô¶¨Òå¿éÊýÁ¿
#define  EEPROM_PAGE_SIZE  64              //EEPÒ³´óС
@@ -55,27 +55,45 @@
/***********************EEP Ïà¹ØÒý½ÅÅäÖÃ**************************************/
#define EEPROM_PWR_PORT               GPIOC
#define EEPROM_PWR_PIN                GPIO_Pin_6
#define EEPROM_PWR_PIN                GPIO_Pin_11
#define EEPROM_CS1_PORT                  GPIOC
#define EEPROM_CS1_PIN                GPIO_Pin_6
#define EEPROM_CS2_PORT                  GPIOC
#define EEPROM_CS2_PIN                GPIO_Pin_14
#define EEPROM_WP_PORT                  GPIOC
#define EEPROM_WP_PIN                   GPIO_Pin_10
#define  EEPROM_CS_1      0
#define  EEPROM_CS_2      1
#define E2P_PWR_ON             GPIO_ResetBits(EEPROM_PWR_PORT,EEPROM_PWR_PIN)     ///jlc  µçÔ´ÊÇ·ñ¿É¿Ø»¹Ã»¸ÄÍê
#define E2P_PWR_ON             GPIO_ResetBits(EEPROM_PWR_PORT,EEPROM_PWR_PIN)     //³¤¸ß£¬µÍÓÐЧ
#define E2P_PWR_OFF          GPIO_SetBits(EEPROM_PWR_PORT,EEPROM_PWR_PIN)
#define  EEPROM_CS_LOW      GPIO_ResetBits(EEPROM_CS1_PORT,EEPROM_CS1_PIN)
#define  EEPROM_CS_HIGH      GPIO_SetBits(EEPROM_CS1_PORT,EEPROM_CS1_PIN)
#define  EEPROM_CS_LOW       do{GPIO_ResetBits(EEPROM_CS1_PORT,EEPROM_CS1_PIN);GPIO_SetBits(EEPROM_CS2_PORT,EEPROM_CS2_PIN);}while(0)
#define  EEPROM_CS_HIGH      do{GPIO_SetBits(EEPROM_CS1_PORT,EEPROM_CS1_PIN);GPIO_SetBits(EEPROM_CS2_PORT,EEPROM_CS2_PIN);}while(0)
#define  EEPROM_CS_ENABLE       do{EEPROM_CS_LOW;EEPROM_CS_2_HIGH;}while(0)
#define  EEPROM_CS_DISABLE      do{EEPROM_CS_HIGH;EEPROM_CS_2_HIGH;}while(0)
///×¢Ò⣬ǧÍò²»ÒªÔÙÖжÏÖжÁдEEPROM£¬Èç¹ûÖжÏ֮ǰÊÇÔÚ²Ù×÷EEPROM£¬ÓÖÔÚÖжÏÖжÁдEEPROM£¬Ôò¿ÉÄܳöÎÊÌâ
#define  EEPROM_CS_2_LOW      {GPIO_ResetBits(FRAM_CS2_GROUP,FRAM_CS2_NUM);GPIO_SetBits(FRAM_CS_GROUP,FRAM_CS_NUM);}//CS_2 = 0
#define  EEPROM_CS_2_HIGH     GPIO_SetBits(FRAM_CS2_GROUP,FRAM_CS2_NUM)  //CS_2 = 1
#define  EEPROM_CS_2_LOW             GPIO_ResetBits(EEPROM_CS2_PORT,EEPROM_CS2_PIN)
#define  EEPROM_CS_2_HIGH            GPIO_SetBits(EEPROM_CS2_PORT,EEPROM_CS2_PIN)
#define  EEPROM_CS_2_ENABLE      do{EEPROM_CS_2_LOW;EEPROM_CS_HIGH;}while(0)
#define  EEPROM_CS_2_DISABLE     do{EEPROM_CS_HIGH;EEPROM_CS_2_HIGH;}while(0)
//¿ØÖÆÊ¹ÄÜ£¬E2P²Ù×÷ǰºóµ÷ÓÃ
#define  EEPROM_CTRL_ENABLE      do{E2P_Ctrl_Gpio_Init();E2P_PWR_ON;EEPROM_CS_ENABLE;}while(0)
#define  EEPROM_CTRL_DISABLE      do{E2P_Ctrl_Gpio_Init();}while(0)
#define  EEPROM_2_CTRL_ENABLE      do{E2P_Ctrl_Gpio_Init();E2P_PWR_ON;EEPROM_CS_2_ENABLE;}while(0)
#define  EEPROM_2_CTRL_DISABLE      do{E2P_Ctrl_Gpio_Init();}while(0)
#define   FM_ReadWriteByte(dat) SpiWriteAndRead(dat)
#define EEPROM_ioconfig()    SPI3_ioconfig()
@@ -106,7 +124,9 @@
//uint8_t  EEPROM_MultipleRead_CS_2(uint8_t *data,u32 addr,u16 bytes);
void EEPROM_CS_2_test(void);
void EEPROM_test(void);
void E2P_Ctrl_Gpio_Init(void);
#endif