1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
.. highlight:: cpp
.. _lang-pinmode:
pinMode()
=========
.. contents:: Contents
:local:
Library Documentation
---------------------
.. doxygenfunction:: pinMode
.. _lang-pinmode-wiringpinmode:
.. doxygenenum:: WiringPinMode
Discussion
----------
pinMode() is usually called within :ref:`lang-setup` in order to
configure a pin for a certain usage (although it may be called
anywhere).
Example
-------
This example uses pinMode() to set up the pin connected to the
built-in LED as an output. Once this is done,
:ref:`lang-digitalwrite` can be used to turn the pin ``HIGH`` and
``LOW``, which turn the LED on and off.
::
void setup() {
pinMode(BOARD_LED_PIN, OUTPUT); // sets the LED pin as output
}
void loop() {
digitalWrite(BOARD_LED_PIN, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(BOARD_LED_PIN, LOW); // sets the LED off
delay(1000); // waits for a second
}
Arduino Compatibility
---------------------
.. TODO check out Arduino vs. Maple static discilpline cutoffs to
.. ensure accuracy of following:
On Maple, pinMode() supports the ``INPUT`` and ``OUTPUT`` modes in the
same way as Arduino (however, remember that the Maple, as a 3.3V
device, will only drive 3.3V to an ``OUTPUT`` pin that has been set
``HIGH``, instead of 5V like on Arduino).
``INPUT_ANALOG`` and ``PWM`` modes were added because the Maple
doesn't separate the analog and digital pins the same way Arduino
does. Unlike on Arduino, you **must call** pinMode() to set up a pin
for these purposes before a call to, e.g., :ref:`lang-analogRead`.
This should only add a few lines to your :ref:`lang-setup` function.
.. TODO [0.1.0] verify following before putting it in:
.. ``OUTPUT_OPEN_DRAIN``, ``INPUT_PULLUP``, ``INPUT_PULLDOWN``, and
.. ``PWM_OPEN_DRAIN`` modes represent functionality not currently
.. available on Arduino boards.
See Also
--------
- :ref:`lang-board-values`
- :ref:`lang-constants`
- :ref:`lang-digitalwrite`
- :ref:`lang-digitalread`
- :ref:`gpio`
.. include:: /arduino-cc-attribution.txt
|