如视频无法正常播放,可点击这里前往B站观看
如需获得更多的关于EEPROM库方面的知识,请参考本站EEPROM库页。
本课示例程序:(无法复制本站示例程序代码?请点击这里获得解决方法。)
EEPROM Read 示例程序在EEPROM Write 示例程序的后面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
/* * EEPROM Write 示例程序 * * 储存于EEPROM的数值即使在断开Arduino开发板电源后仍会保存 * 在EEPROM中。当我们将新程序上传Arduino开发板后,这些储存 * 于EEPROM中的数值仍然可以被新的程序调用或者修改。 * * 本实例程序注释中文翻译:太极创客(WWW.TAICHI-MAKER.COM ) * 如需要获得EEPROM的使用中文说明以及Arduino开发板开发的更多资料和 * 视频教程,请参见太极创客网站: * * 2017-11-22 * */ #include <EEPROM.h> /** 被写入数据的EEPROM地址编号 (即.即哪一个存储地址将要被写入数据) **/ int addr = 0; void setup() { /** setup内无内容 **/ } void loop() { /*** 如使用EEPROM存储模拟输入引脚所读取到的数值(即使用analogRead函数 读取Arduino开发板的模拟输入引脚并且将读取到的数值存储于EEPROM), 则需要将该数值除以4。原因是用analogRead函数所读取到的数值为0-1023 而EEPROM只能储存0-255的数值。(EEPROM每一个存储地址可以储存一个字节, 因此只能存储0-255的数值。) ***/ int val = 123; // 将要存储于EEPROM的整数数值 /*** 将数值写入相应EEPROM地址。该数值即使在断开 Arduino开发板电源后,仍将保持在开发板的EEPROM中不变。 ***/ EEPROM.write(addr, val); /*** 转入下一存储地址。当存储地址序列号达到EEPROM的存储空间结尾, 返回到EEPROM开始地址。 不同型号Arduino开发板具有不同大小的EEPROM存储空间,即: - Arduno Duemilanove: 512b EEPROM 存储空间. - Arduino Uno: 1kb EEPROM 存储空间 (允许使用的EEPROM地址序列号为 0-1023 ). - Arduino Mega: 4kb EEPROM 存储空间. ***/ addr = addr + 1; if (addr == EEPROM.length()) { addr = 0; } delay(10); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
/* * EEPROM Read * * 读取所有EEPROM储存数值并显示于计算机屏幕供用户查看。 * * 本实例程序注释中文翻译:太极创客(WWW.TAICHI-MAKER.COM ) * 如需要获得EEPROM的使用中文说明以及Arduino开发板开发的更多资料和 * 视频教程,请参见太极创客网站: * * WWW.TAICHI-MAKER.COM * * 2017-11-22 * */ #include <EEPROM.h> //从EEPROM的第一个字节(地址序号0)开始读取 int address = 0; byte value; void setup() { //初始化串口通讯并等待初始化完成 Serial.begin(9600); while (!Serial) { ; // 等待初始化串口通讯初始化完成 } } void loop() { //从当前EEPROM存储地址中读取数据 value = EEPROM.read(address); Serial.print(address); Serial.print("\t"); Serial.print(value, DEC); Serial.println(); /*** 转入下一存储单元。当存储序列号达到EEPROM的结尾, 返回到EEPROM开始。 不同型号Arduino开发板具有不同大小的EEPROM存储空间,即: - Arduno Duemilanove: 512b EEPROM 存储空间. - Arduino Uno: 1kb EEPROM 存储空间 (允许使用的EEPROM地址序列号为 0-1023 ). - Arduino Mega: 4kb EEPROM 存储空间. ***/ address = address + 1; if (address == EEPROM.length()) { address = 0; } delay(500); } |