#include "stm32f4xx_hal.h"
void EEPROM_WriteByte(uint32_t addr, uint8_t data)
{
HAL_FLASH_Unlock();
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_BYTE, addr, data) != HAL_OK)
{
// 编程失败处理
}
HAL_FLASH_Lock();
}
uint8_t EEPROM_ReadByte(uint32_t addr)
{
return *(uint8_t *)(addr);
}
int main(void)
{
HAL_Init();
HAL_FLASH_SetLatency(FLASH_LATENCY_5);
HAL_FLASH_Unlock();
FLASH_Erase_Sector(FLASH_SECTOR_4, FLASH_VOLTAGE_RANGE_3);
EEPROM_WriteByte(0x080C0000, 0xAA);
EEPROM_WriteByte(0x080C0001, 0x55);
uint8_t data1 = EEPROM_ReadByte(0x080C0000);
uint8_t data2 = EEPROM_ReadByte(0x080C0001);
HAL_FLASH_Lock();
while (1)
{
// 主循环
}
}
|