Home » openCR入门教程 » OpenCR入门教程-开发示例-EEPROM

OpenCR入门教程-开发示例-EEPROM

说明

  • 本教程介绍OpenCR板上的EEPROM测试示例

代码

  • OpenCR没有EEPROM存储器,因此它将STM32F746内置的一部分闪存仿真到EEPROM中,ST提供了仿真方法作为示例

  • 用作EEPROM的区域为0x08010000 ~ 0x08020000,如下所示

请输入图片描述

  • 32位用于存储一个数据,低16位是要存储的数据,高16位指示相应数据的地址

  • 存储数据时,其会存储在新位置。当保存数据时使用一页时,仅将已保存页面中的最新值复制到新页面中,并删除现有页面。结果,减少了闪存擦除的次数,从而增加了直写寿命。

请输入图片描述

请输入图片描述

  • 要使用EEPROM库,必须添加头文件,并且当前EEPROM的最大大小为1 KB。由于EEPROM库已移植了Arduino支持的功能,因此基本用法与其他现有Arduino板中使用的方法相同。有关如何使用它的更多信息,请访问Adunion网站
#include <EEPROM.h>

void setup() {

  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  uint32_t tTime;
  static int i = 0;


  if( (millis()-tTime) > 100 )
  {
    Serial.print(EEPROM.read(0));
    Serial.print("\t");
    Serial.print(EEPROM.read(1));
    Serial.print("\t");
    Serial.print(EEPROM.read(2));
    Serial.println("\t");

    tTime = millis();
  }

  if (Serial.available())
  {
    uint8_t inByte = Serial.read();

    if( inByte == '1' )
    {
      EEPROM.write(0, i+1);
      EEPROM.write(1, i+2);
      EEPROM.write(2, i+3);
      i++;
    }
  }
}

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none