diff options
| author | Marti Bolivar <mbolivar@mit.edu> | 2010-12-21 10:27:37 -0500 | 
|---|---|---|
| committer | Marti Bolivar <mbolivar@mit.edu> | 2010-12-21 10:27:37 -0500 | 
| commit | c45bccad44187da27505cf5808424e709e3f54a1 (patch) | |
| tree | 18a459a50f8d0551ba046e30462c93999d982725 /docs/source/lang/api/digitalwrite.rst | |
| parent | 84fd2532a7f23d20354ff590790b3f892cb7e7d7 (diff) | |
| parent | d5ad2a27f4e69e6cc9324331945937c983c30366 (diff) | |
| download | librambutan-c45bccad44187da27505cf5808424e709e3f54a1.tar.gz librambutan-c45bccad44187da27505cf5808424e709e3f54a1.zip | |
Merge branch 'master' into debug-serialusb.
Chose debug-serialusb version in cases of conflict.
Conflicts:
	libmaple/usb/usb_callbacks.c
Diffstat (limited to 'docs/source/lang/api/digitalwrite.rst')
| -rw-r--r-- | docs/source/lang/api/digitalwrite.rst | 68 | 
1 files changed, 68 insertions, 0 deletions
| diff --git a/docs/source/lang/api/digitalwrite.rst b/docs/source/lang/api/digitalwrite.rst new file mode 100644 index 0000000..6124d5f --- /dev/null +++ b/docs/source/lang/api/digitalwrite.rst @@ -0,0 +1,68 @@ +.. highlight:: cpp + +.. _lang-digitalwrite: + +digitalWrite() +============== + +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 +--------------------- + +.. doxygenfunction:: digitalWrite + +Discussion +---------- + +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: + +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() { +      pinMode(ledPin, OUTPUT);      // sets the digital pin as output +    } + +    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 +    } + +See Also +-------- + +- :ref:`pinMode <lang-pinmode>` +- :ref:`digitalRead <lang-digitalread>` + +.. include:: cc-attribution.txt | 
