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++;
}
}
}
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号