aboutsummaryrefslogtreecommitdiffstats
path: root/source/arduino/pinmode.rst
diff options
context:
space:
mode:
Diffstat (limited to 'source/arduino/pinmode.rst')
-rw-r--r--source/arduino/pinmode.rst67
1 files changed, 67 insertions, 0 deletions
diff --git a/source/arduino/pinmode.rst b/source/arduino/pinmode.rst
new file mode 100644
index 0000000..34c7998
--- /dev/null
+++ b/source/arduino/pinmode.rst
@@ -0,0 +1,67 @@
+.. highlight:: cpp
+
+.. _arduino-pinmode:
+
+pinMode()
+=========
+
+.. doxygenfunction:: pinMode
+
+.. doxygenenum:: WiringPinMode
+
+Discussion
+----------
+
+pinMode() is usually called within :ref:`arduino-setup` in order to
+configure a pin for a certain usage (although it may be called from
+anywhere).
+
+
+Example
+-------
+
+ ::
+
+
+ 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
+ }
+
+
+
+Arduino Compatibility Note
+--------------------------
+
+The libmaple implementation of pinMode() supports OUTPUT and INPUT
+modes with a meaning identical to that of the Arduino function.
+
+INPUT_ANALOG and PWM modes were added because the Maple does not
+distinguish between analog and digital pins the same way the Arduino
+does. Unlike the Arduino, you **must call pinMode**\ () to set up a pin
+for these purposes before a call to, e.g., :ref:`arduino-analogRead`.
+In practice, this should only add a few lines of pinMode() calls to
+your :ref:`arduino-setup` function.
+
+OUTPUT_OPEN_DRAIN, INPUT_PULLUP, INPUT_PULLDOWN, and PWM_OPEN_DRAIN
+modes represent functionality not currently available on Arduino
+boards.
+
+See also
+--------
+
+- :ref:`arduino-constants`
+- :ref:`arduino-digitalwrite`
+- :ref:`arduino-digitalread`
+- Maple :ref:`GPIO <gpio>` reference page
+- Arduino `pinMode() <http://www.arduino.cc/en/Reference/PinMode>`_ reference