aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/arduino/delay.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/arduino/delay.rst')
-rw-r--r--docs/source/arduino/delay.rst95
1 files changed, 34 insertions, 61 deletions
diff --git a/docs/source/arduino/delay.rst b/docs/source/arduino/delay.rst
index 973c75b..644e8c4 100644
--- a/docs/source/arduino/delay.rst
+++ b/docs/source/arduino/delay.rst
@@ -1,35 +1,40 @@
+.. highlight:: cpp
+
.. _arduino-delay:
delay()
=======
-Description
------------
-
-Pauses the program for the amount of time (in miliseconds)
-specified as parameter. (There are 1000 milliseconds in a second.)
-
-
-
-Syntax
-------
+Pauses the program for at least a given number of milliseconds. (There
+are 1000 milliseconds in a second.)
-delay(ms)
+Library Documentation
+---------------------
+.. doxygenfunction:: delay
-Parameters
+Discussion
----------
-ms: the number of milliseconds to pause (*unsigned long*)
-
-
-
-Returns
--------
-
-nothing
-
+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 :ref:`millis() <arduino-millis>` function
+and the "Blink Without Delay" sketch cited :ref:`below
+<arduino-delay-seealso>`\ . More knowledgeable programmers usually
+avoid the use of ``delay()`` for timing of events longer than tens of
+milliseconds, unless the sketch is very simple.
+
+Certain things *do* go on while the ``delay()`` function is
+controlling the STM32 chip, however, because the delay function does
+not disable interrupts. Serial communication that appears at the RX
+pin is recorded, PWM (see :ref:`pwmWrite() <wirish-pwmwrite>`\ )
+values and pin states are maintained, and :ref:`interrupts
+<arduino-attachinterrupt>` will work as they should.
Example
@@ -37,58 +42,26 @@ Example
::
- int ledPin = 13; // LED connected to digital pin 13
+ int ledPin = 13; // LED connected to pin 13
- void setup()
- {
+ void setup() {
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}
- void loop()
- {
+ void loop() {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
-
-
-Caveat
-------
-
-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
-`millis() <http://arduino.cc/en/Reference/Millis>`_ 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.
-
-
-
-Certain things *do* 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
-(`analogWrite <http://arduino.cc/en/Reference/AnalogWrite>`_)
-values and pin states are maintained, and
-`interrupts <http://arduino.cc/en/Reference/AttachInterrupt>`_ will
-work as they should.
-
-
+.. _arduino-delay-seealso:
See also
--------
-- `millis <http://arduino.cc/en/Reference/Millis>`_\ ()
-- `micros <http://arduino.cc/en/Reference/Micros>`_\ ()
-- `delayMicroseconds <http://arduino.cc/en/Reference/DelayMicroseconds>`_\ ()
-- `Blink Without Delay <http://arduino.cc/en/Tutorial/BlinkWithoutDelay>`_
- example
-
+- :ref:`millis() <arduino-millis>`
+- :ref:`micros() <arduino-micros>`
+- :ref:`delayMicroseconds() <arduino-delayMicroseconds>`
+- (Arduino) `Blink Without Delay <http://arduino.cc/en/Tutorial/BlinkWithoutDelay>`_ example (works unmodified on Maple)