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

« back to all changes in this revision

Viewing changes to reference/Delay.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 - Delay </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>delay()</h2>
 
58
<h4>Description</h4>
 
59
<p>Pauses the program for the amount of time (in miliseconds) specified as parameter.   (There are 1000 milliseconds in a second.)
 
60
</p>
 
61
<p class='vspace'></p><h4>Syntax</h4>
 
62
<p>delay(ms)
 
63
</p>
 
64
<p class='vspace'></p><h4>Parameters</h4>
 
65
<p>ms: the number of milliseconds to pause (<em>unsigned long</em>)
 
66
</p>
 
67
<p class='vspace'></p><h4>Returns</h4>
 
68
<p>nothing
 
69
</p>
 
70
<p class='vspace'></p><h4>Example</h4>
 
71
<pre>
 
72
int ledPin = 13;                 // LED connected to digital pin 13
 
73
 
 
74
void setup()
 
75
{
 
76
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
 
77
}
 
78
 
 
79
void loop()
 
80
{
 
81
  digitalWrite(ledPin, HIGH);   // sets the LED on
 
82
  delay(1000);                  // waits for a second
 
83
  digitalWrite(ledPin, LOW);    // sets the LED off
 
84
  delay(1000);                  // waits for a second
 
85
}
 
86
 
 
87
</pre>
 
88
<p class='vspace'></p><h4>Caveat</h4>
 
89
<p>While it is easy to create a blinking LED with the delay() function, and many sketches use short delays for such tasks as switch debouncing, the use of delay() in a sketch has significant drawbacks. No other reading of sensors, mathematical calculations, or pin manipulation can go on during the delay function, so in effect, it brings most other activity to a halt. For alternative approaches to controlling timing see the <a class='wikilink' href='Millis.html'>millis()</a> function and the sketch sited below. More knowledgeable programmers usually avoid the use of delay() for timing of events longer than 10's of milliseconds unless the Arduino sketch is very simple.
 
90
</p>
 
91
<p class='vspace'></p><p>Certain things <em>do</em> go on while the delay() function is controlling the Atmega chip however, because the delay function does not disable interrupts. Serial communication that appears at the RX pin is recorded, PWM (<a class='wikilink' href='AnalogWrite.html'>analogWrite</a>) values and pin states are maintained, and <a class='wikilink' href='AttachInterrupt.html'>interrupts</a> will work as they should.
 
92
</p>
 
93
<p class='vspace'></p><h4>See also</h4>
 
94
<ul><li><a class='wikilink' href='Millis.html'>millis</a>()
 
95
</li><li><a class='wikilink' href='Micros.html'>micros</a>()
 
96
</li><li><a class='wikilink' href='DelayMicroseconds.html'>delayMicroseconds</a>()
 
97
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/BlinkWithoutDelay'>Blink Without Delay</a> example
 
98
</li></ul><p class='vspace'></p><p><a class='wikilink' href='index.html'>Reference Home</a>
 
99
</p>
 
100
<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>
 
101
</p>
 
102
<p class='vspace'></p><p>The text of the Arduino reference is licensed under a
 
103
<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.
 
104
</p>
 
105
</div>
 
106
 
 
107
</div>
 
108
<!--PageFooterFmt-->
 
109
<div id="pagefooter">
 
110
  <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>
 
111
</div>
 
112
<!--/PageFooterFmt-->
 
113
</div>
 
114
</body>
 
115
</html>