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 |
|