“EEPROM:update()”的版本间的差异

来自YFRobotwiki
跳转至: 导航搜索
(以“:EEPROM {| border="0" cellpadding="20" width="100%" |- |width="100%" valign="top" align="left"| <font color="olivedrab" size="+3">'''update()'''</font...”为内容创建页面)
 
 
(未显示1个用户的2个中间版本)
第10行: 第10行:
 
<font color="orange" size="+1">'''描述'''</font>
 
<font color="orange" size="+1">'''描述'''</font>
  
Reads a byte from the EEPROM. Locations that have never been written to have the value of 255.
+
写一个字节到EEPROM。该值如果不同于已保存在同一地址的值时才会写入(更新该地址的值)。
  
<font color="orange" size="+1">'''Syntax'''</font>
 
  
EEPROM.read(address)
+
<font color="orange" size="+1">'''语法'''</font>
  
<font color="orange" size="+1">'''Parameters'''</font>
+
EEPROM.update(address, value)
  
address: the location to read from, starting from 0 (int)
 
  
<font color="orange" size="+1">'''Returns'''</font>
+
<font color="orange" size="+1">''' 参数'''</font>
  
the value stored in that location (byte)
+
address: 写入的位置,从0开始 (int 整型)
  
<font color="orange" size="+1">'''Example'''</font>
+
value: 写入的值,值范围0~255 (byte型)
 +
 
 +
 
 +
<font color="orange" size="+1">''' 返回值'''</font>
 +
 
 +
 +
 
 +
 
 +
<font color="orange" size="+1">'''注意'''</font>
 +
 
 +
EEPROM一次写入需要3.3ms才能完成。EEPROM内存有100000次 写/擦除的固定生命周期, 所以如果写入的数据不经常更改的话,使用该函数代替[[EEPROM:write()|write()]]函数可以节省使用周期。
 +
 
 +
 
 +
<font color="orange" size="+1">'''示例'''</font>
  
 
<pre style="color:dimgray">
 
<pre style="color:dimgray">
 
#include <EEPROM.h>
 
#include <EEPROM.h>
 
int a = 0;
 
int value;
 
  
 
void setup()
 
void setup()
 
{
 
{
   Serial.begin(9600);
+
   for (int i = 0; i < 255; i++) {
 +
    // this performs as EEPROM.write(i, i)
 +
    EEPROM.update(i, i);
 +
  }
 +
  for (int i = 0; i < 255; i++) {
 +
    // write value "12" to cell 3 only the first time
 +
    // will not write the cell the remaining 254 times
 +
    EEPROM.update(3, 12);
 +
  }
 
}
 
}
  
 
void loop()
 
void loop()
 
{
 
{
  value = EEPROM.read(a);
 
 
  Serial.print(a);
 
  Serial.print("\t");
 
  Serial.print(value);
 
  Serial.println();
 
 
  a = a + 1;
 
 
  if (a == 512)
 
    a = 0;
 
 
  delay(500);
 
 
}
 
}
  

2015年7月14日 (二) 11:14的最后版本

EEPROM

update()


描述

写一个字节到EEPROM。该值如果不同于已保存在同一地址的值时才会写入(更新该地址的值)。


语法

EEPROM.update(address, value)


参数

address: 写入的位置,从0开始 (int 整型)

value: 写入的值,值范围0~255 (byte型)


返回值


注意

EEPROM一次写入需要3.3ms才能完成。EEPROM内存有100000次 写/擦除的固定生命周期, 所以如果写入的数据不经常更改的话,使用该函数代替write()函数可以节省使用周期。


示例

#include <EEPROM.h>

void setup()
{
  for (int i = 0; i < 255; i++) {
    // this performs as EEPROM.write(i, i)
    EEPROM.update(i, i);
  }
  for (int i = 0; i < 255; i++) {
    // write value "12" to cell 3 only the first time
    // will not write the cell the remaining 254 times
    EEPROM.update(3, 12);
  }
}

void loop()
{
}


返回EEPROM库

返回Arduino库菜单

返回首页

更多建议和问题欢迎反馈至 YFRobot论坛