~ubuntu-branches/ubuntu/precise/arduino/precise

« back to all changes in this revision

Viewing changes to reference/EEPROMWrite.html

  • Committer: Bazaar Package Importer
  • Author(s): Scott Howard
  • Date: 2010-04-13 22:32:24 UTC
  • Revision ID: james.westby@ubuntu.com-20100413223224-jduxnd0xxnkkda02
Tags: upstream-0018+dfsg
ImportĀ upstreamĀ versionĀ 0018+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html>
 
3
<head>
 
4
  <title>Arduino - EEPROMWrite </title>
 
5
  <link rel='stylesheet' href='arduino.css' type='text/css' />
 
6
  <meta name="verify-v1" content="TtxFIEJAB6zdJ509wLxjnapQzKAMNm9u0Wj4ho6wxIY=" />
 
7
</head>
 
8
<body>
 
9
<div id="page">
 
10
<!--PageHeaderFmt-->
 
11
<div id="pageheader">
 
12
  <div class="title"><a href="http://www.arduino.cc"/>Arduino</a></div>
 
13
  <div class="search">
 
14
    <!-- SiteSearch Google -->
0
15
   <FORM method=GET action="http://www.google.com/search">
1
16
   <input type=hidden name=ie value=UTF-8>
2
17
   <input type=hidden name=oe value=UTF-8>
3
18
   <INPUT TYPE=text name=q size=25 maxlength=255 value="">
4
19
   <INPUT type=submit name=btnG VALUE="search">
5
20
   <input type=hidden name=domains value="http://www.arduino.cc/">
 
21
    <input type=hidden name=sitesearch value="http://www.arduino.cc/">
 
22
    </FORM>
6
23
   <!-- SiteSearch Google -->
 
24
  </div>
 
25
</div>
 
26
<!--/PageHeaderFmt-->
 
27
<!--PageLeftFmt-->
 
28
<div id="pagenav" style="text-align: right">
 
29
  <div style="float: left;">
 
30
  <p><a class='wikilink' href='http://arduino.cc/en/Main/Buy'>Buy</a>
 
31
|
 
32
<a class='wikilink' href='http://arduino.cc/en/Main/Software'>Download</a>
 
33
|
 
34
<a class='wikilink' href='Guide_index.html'>Getting Started</a>
 
35
|
 
36
<a class='wikilink' href='http://arduino.cc/en/Tutorial/HomePage'>Learning</a>
 
37
|
 
38
<a class='wikilink' href='index.html'>Reference</a>
 
39
|
 
40
<a class='wikilink' href='http://arduino.cc/en/Main/Hardware'>Hardware</a>
 
41
|
 
42
<a class='wikilink' href='FAQ.html'>FAQ</a>
 
43
</p>
 
44
<p class='vspace'></p>
 
45
 
 
46
  </div>
 
47
  <a class="urllink" href="http://www.arduino.cc/blog/" rel="nofollow">Blog &raquo;</a> |
 
48
  <a class="urllink" href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl" rel="nofollow">Forum &raquo;</a> |
 
49
  <a class="urllink" href="http://www.arduino.cc/playground/" rel="nofollow">Playground &raquo;</a>
 
50
</div>
 
51
<!--/PageLeftFmt-->
 
52
<div id="pagetext">
 
53
<!--PageText-->
 
54
<div id='wikitext'>
 
55
<p><strong>Reference</strong> &nbsp;  <a class='wikilink' href='index.html'>Language</a> (<a class='wikilink' href='Extended.html'>extended</a>) | <a class='wikilink' href='Libraries.html'>Libraries</a> | <a class='wikilink' href='Comparison.html'>Comparison</a> | <a class='wikilink' href='Changes.html'>Changes</a>
 
56
</p>
 
57
<p class='vspace'></p><h2>EEPROM.write(address, value)</h2>
 
58
<h4>Description</h4>
 
59
<p>Write a byte to the EEPROM.
 
60
</p>
 
61
<p class='vspace'></p><h4>Parameters</h4>
 
62
<p>address: the location to write to, from 0 to 511 (<em>int</em>)
 
63
</p>
 
64
<p class='vspace'></p><p>value: the value to write, from 0 to 255 (<em>byte</em>)
 
65
</p>
 
66
<p class='vspace'></p><h4>Returns</h4>
 
67
<p>none
 
68
</p>
 
69
<p class='vspace'></p><p>The Atmega 168 datasheet says that EEPROM memory has a specified life of 100000 write/erase cycles, so there is a limit to how many times you can write information to that memory space. Keep this in mind for long-lived projects or fast-moving data.
 
70
</p>
 
71
<p class='vspace'></p><p>The datasheet also specifies that a write cycle takes 3.3 ms to complete. Other EEPROM write and read requests will fail if executed in this time period. This delay appears to be built into the EEPROM library as a casual test shows each cycle taking 3.33 ms to execute. 
 
72
</p>
 
73
<p class='vspace'></p><p>Hence, you do not specifically need to add a delay to an EEPROM write, just be aware of the built-in time delay.
 
74
</p>
 
75
<p class='vspace'></p><h4>Example</h4>
 
76
<pre>
 
77
#include &lt;EEPROM.h&gt;
 
78
 
 
79
void setup()
 
80
{
 
81
  for (int i = 0; i &lt; 512; i++)
 
82
    EEPROM.write(i, i);
 
83
}
 
84
 
 
85
void loop()
 
86
{
 
87
}
 
88
 
 
89
</pre>
 
90
<p class='vspace'></p><h4>See also</h4>
 
91
<ul><li><a class='wikilink' href='EEPROMRead.html'>EEPROM.read</a>()
 
92
</li></ul><p class='vspace'></p><p><a class='wikilink' href='index.html'>Reference Home</a>
 
93
</p>
 
94
<p class='vspace'></p><p><em>Corrections, suggestions, and new documentation should be posted to the <a class='urllink' href='http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=swbugs' rel='nofollow'>Forum</a>.</em>
 
95
</p>
 
96
<p class='vspace'></p><p>The text of the Arduino reference is licensed under a
 
97
<a class='urllink' href='http://creativecommons.org/licenses/by-sa/3.0/' rel='nofollow'>Creative Commons Attribution-ShareAlike 3.0 License</a>.  Code samples in the reference are released into the public domain.
 
98
</p>
 
99
</div>
 
100
 
 
101
</div>
 
102
<!--PageFooterFmt-->
 
103
<div id="pagefooter">
 
104
  <a href='#'>Edit Page</a> | <a href='#'>Page History</a> | <a href='#' target='_blank'>Printable View</a> | <a href='http://arduino.cc/en/Site/AllRecentChanges'>All Recent Site Changes</a>
 
105
</div>
 
106
<!--/PageFooterFmt-->
 
107
</div>
 
108
</body>
 
109
</html>