分享

MCU STM8L051F3xx 内部EEPROM 操作笔记

 Ricky_图书馆 2021-07-12
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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多