huyongji1.1-system/App/EEPROM/EEPROM.h

27 lines
795 B
C
Raw Permalink Normal View History

2025-04-16 09:58:09 +08:00
#ifndef EEPROM_H
#define EEPROM_H
#include "main.h"
#include "i2c.h"
2025-05-20 09:41:22 +08:00
#include <String.h>
2025-04-16 09:58:09 +08:00
#define ADDR 0xA0
2025-05-20 09:41:22 +08:00
#define EEPROM_ENERGY_ADDR 0x60 // EEPROM 存储电量存储地址
#define EEPROM_ENERGY_FLAG 0x64 //检验标志地址
#define EEPROM_ENERGY_FLAG_VAL 0xA5 //检验标志值
2025-04-16 09:58:09 +08:00
void Inf_AT24C02_Init(void);
void Inf_AT24C02_WriteByte(uint8_t innerAddr, uint8_t byte);
uint8_t Inf_AT24C02_ReadByte(uint8_t innerAddr);
void Inf_AT24C02_WriteBytes(uint8_t innerAddr, uint8_t *bytes, uint8_t len);
void Inf_AT24C02_ReadBytes(uint8_t innerAddr, uint8_t *bytes, uint8_t len);
2025-05-20 09:41:22 +08:00
void Clear_EEPROM_All(void);
void Save_Float_To_EEPROM(uint8_t addr, float data);
float Read_Float_From_EEPROM(uint8_t addr);
void Save_Energy_To_EEPROM(float energy);
2025-04-16 09:58:09 +08:00
2025-05-20 09:41:22 +08:00
float Load_Energy_From_EEPROM(void);
2025-04-16 09:58:09 +08:00
#endif