MCU STM8L051F3xx 内部EEPROM 操作笔记

MCU: STM8L051F3xx
EEPROM Address: 0x00 1000 ~ 0x00 10FF, 256 Bytes

操作简明说明:

EEPROM在上电复位后是写保护的,

在向其中写入数据时,需要解锁,关闭写保护.
解锁流程为:
1. 第一次向FLASH_DUKR写入密钥0xAE
2. 第二次向FLASH_DUKR写入密钥0x56

两次都写入正确后,写保护功能被关闭,可以对EEPROM区域进行写操作.

解锁成功后,FLASH_IAPSR_DUL 位会被置位,在写完密钥后,可以读取DUL位来判断有没有解锁成功.

特别注意:
在向EEPROM写数据时,单片机内部会产生高压对EEPROM写操作,

如果这个时候被中断打断,会造成单片机异常,所以写操作时,需要关闭总中断,防止意外发生.

涉及 ST 库文件: stm8l15x_flash.h, stm8l15x_flash.c

常用函数: 

FLASH_Unlock( FLASH_MemType_Data );

FLASH_Lock( FLASH_MemType_Data );

uint8_t FLASH_ReadByte(uint32_t Address);

void FLASH_ProgramByte(uint32_t Address, uint8_t Data);

asm("rim"); //打开中断

asm("sim"); //关闭中断

解锁是否成功标志位:  FLASH_IAPSR_DUL

(0)

相关推荐