eeprom stm8l 擦除 读写_STM8L探索套件学习笔记-EEPROM(十一)

本文是STM8L探索套件学习笔记的一部分,详细介绍了如何对STM8L的EEPROM进行编程、擦除操作。通过使用__eeprom关键字进行变量定义,并通过特定的函数实现对EEPROM的读写。同时,提供了等待操作完成、编程字节和编程长字等函数的实现示例,便于在实际项目中使用。
摘要由CSDN通过智能技术生成

原标题:STM8L探索套件学习笔记-EEPROM(十一)

上节将到官方例程使用 EEPROM存储外围电路消耗的电流值,今天我们对 STM8L的EEPROM介绍下。STM8L带有的32K的FLASH和1K的EEPROM都可以编程和擦除,编程模式有1、字节byte,2、字word,3、BLO CK和4、编程和擦写完中断。

由于默认是锁定的,所以对FLASH和EEPROM编程首先要解锁,解锁的方式是写如寄存器特定值,0X56 0XAE。在IAR编译器当中,__eeprom 用于EEPROM 存储空间, 控制数据存放,控制指针类型和存放。@用于变量的绝对地址定位。也可以用#pragma location 命令。

EEPROM 区域数据存储:

用关键字 __eeprom 控制来存放, __eeprom关键字写在数据类型前后效果一样。

__eeprom unsigned char a;//定义一个变量存放在EEPROM空间

unsigned char __eeprom a;//效果同上

__eeprom unsigned char p[];//定义一个数组存放在EEPROM空间

对于EEPROM空间的变量操作同SRAM数据空间的操作方法一样,编译器会自动

调用 __EEPUT(ADR,VAL), __EEGET(VAR, ADR)宏函数来对EEPROM变量的

操作。

EEPROM空间绝对地址定位:

__eeprom unsigned char a @ 0x8;//定义一个变量存放在EEPROM空间

0X08单元

__eeprom unsigned char p[] @ 0x22//定义一个数组存放在EEPROM空间,<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值