蓝桥杯物联网竞赛_STM32L071_16_EEPROM

仍然是没有考过的知识点

朴素的讲就是板子中一块不会因为断电重启而导致数值初始化的一片地址

要注意的是有时候容易把板子什么写错导致板子什么地址写坏了导致程序无法烧录,这个时候记得一直按flash键烧录,烧录时会报错,点击确定,松开flash键立即烧录即可烧录进去
在这里插入图片描述

一个字是4字节,一个字节8位, 一个字32位

代码:

uint32_t VALUE = 0;
void Function_EepromRead(uint32_t address, uint32_t* data){
	uint32_t* TrueAddress;
	TrueAddress = (uint32_t* ) (address + DATA_EEPROM_BASE);  // 取数据的地址
	HAL_FLASHEx_DATAEEPROM_Unlock();  // 解锁
   *data = *TrueAddress;  // 取数据
	HAL_FLASHEx_DATAEEPROM_Lock();  //上锁
}

void Function_GetEepromData(){
	Function_EepromRead(4, &VALUE);  // 注意是传入地址 按4的倍数去写
	OLED_ShowChar(0, 0, VALUE + '0');
	VALUE ++;
 	HAL_FLASHEx_DATAEEPROM_Unlock();  // 解锁
    HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_WORD, DATA_EEPROM_BASE + 4, VALUE);  // 存数据
	HAL_FLASHEx_DATAEEPROM_Lock();  // 上锁
}

按字写入

FLASH_TYPEPROGRAMDATA_WORD

EEPROM地址位置

DATA_EEPROM_BASE
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值