aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/digitalwrite.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/lang/digitalwrite.rst')
-rw-r--r--docs/source/lang/digitalwrite.rst116
1 files changed, 34 insertions, 82 deletions
diff --git a/docs/source/lang/digitalwrite.rst b/docs/source/lang/digitalwrite.rst
index 419ef3a..6124d5f 100644
--- a/docs/source/lang/digitalwrite.rst
+++ b/docs/source/lang/digitalwrite.rst
@@ -1,116 +1,68 @@
+.. highlight:: cpp
+
.. _lang-digitalwrite:
digitalWrite()
==============
-Description
------------
-
-Write a `HIGH <http://arduino.cc/en/Reference/Constants>`_ or a
-`LOW <http://arduino.cc/en/Reference/Constants>`_ value to a
-digital pin.
-
-
-
-If the pin has been configured as an OUTPUT with
-`pinMode <http://arduino.cc/en/Reference/PinMode>`_\ (), its voltage
-will be set to the corresponding value: 5V (or 3.3V on 3.3V boards)
-for HIGH, 0V (ground) for LOW.
-
-
-
-If the pin is configured as an INPUT, writing a HIGH value with
-digitalWrite() will enable an internal 20K pullup resistor (see the
-`tutorial on digital pins <http://arduino.cc/en/Tutorial/DigitalPins>`_).
-Writing LOW will disable the pullup. The pullup resistor is enough
-to light an LED dimly, so if LEDs appear to work, but very dimly,
-this is a likely cause. The remedy is to set the pin to an output
-with the pinMode() function.
-
+Write a :ref:`HIGH <lang-constants-high>` or a :ref:`LOW
+<lang-constants-low>` value to a pin configured as :ref:`OUTPUT
+<lang-constants-output>`.
+Library Documentation
+---------------------
-**NOTE:** Digital pin 13 is harder to use as a digital input than
-the other digital pins because it has an LED and resistor attached
-to it that's soldered to the board on most boards. If you enable
-its internal 20k pull-up resistor, it will hang at around 1.7 V
-instead of the expected 5V because the onboard LED and series
-resistor pull the voltage level down, meaning it always returns
-LOW. If you must use pin 13 as a digital input, use an external
-pull down resistor.
+.. doxygenfunction:: digitalWrite
-
-
-Syntax
-------
-
-digitalWrite(pin, value)
-
-
-
-Parameters
+Discussion
----------
-pin: the pin number
-
+If the pin has been configured as an ``OUTPUT`` with :ref:`pinMode()
+<lang-pinmode>` its voltage will be set to the corresponding value:
+3.3V for ``HIGH``, and 0V (ground) for ``LOW``.
+.. TODO make the following paragraphs true, but refer the reader to
+.. INPUT_PULLUP and INPUT_PULLDOWN:
-value: `HIGH <http://arduino.cc/en/Reference/Constants>`_ or
-`LOW <http://arduino.cc/en/Reference/Constants>`_
-
-
-
-Returns
--------
-
-none
-
+If the pin is configured as an ``INPUT``, writing a ``HIGH`` value
+with ``digitalWrite()`` will enable an internal pullup resistor.
+Writing ``LOW`` will disable the pullup. The pullup resistor is enough
+to light an LED dimly, so if LEDs appear to work, but very dimly, this
+is a likely cause. The remedy is to set the pin to an output with the
+:ref:`pinMode() <lang-pinmode>` function.
+.. note:: Pin 13 is harder to use as an input than the other pins
+ because it has an LED and resistor soldered to it in series. If you
+ enable its internal pull-up resistor, it will likely hang at around
+ 1.1V instead of the expected 3.3V because the onboard LED and
+ series resistor pull the voltage level down. If you must use pin 13
+ as a digital input, use an external pull-down resistor.
Example
-------
-::
+The following example sets pin 13 to ``HIGH``, makes a one-second-long
+delay, sets the pin back to ``LOW``, and delays again, causing a
+blinking pattern::
int ledPin = 13; // LED connected to digital 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
}
-
-
-Sets pin 13 to HIGH, makes a one-second-long delay, and sets the
-pin back to LOW.
-
-
-
-Note
-----
-
-The analog input pins can be used as digital pins, referred to as
-A0, A1, etc.
-
-
-
-See also
+See Also
--------
-
-- `pinMode <http://arduino.cc/en/Reference/PinMode>`_\ ()
-- `digitalRead <http://arduino.cc/en/Reference/DigitalRead>`_\ ()
-- `Tutorial: Digital Pins <http://arduino.cc/en/Tutorial/DigitalPins>`_
-
-
-
+- :ref:`pinMode <lang-pinmode>`
+- :ref:`digitalRead <lang-digitalread>`
.. include:: cc-attribution.txt