aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/cpp/booleanvariables.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@mit.edu>2010-12-21 10:27:37 -0500
committerMarti Bolivar <mbolivar@mit.edu>2010-12-21 10:27:37 -0500
commitc45bccad44187da27505cf5808424e709e3f54a1 (patch)
tree18a459a50f8d0551ba046e30462c93999d982725 /docs/source/lang/cpp/booleanvariables.rst
parent84fd2532a7f23d20354ff590790b3f892cb7e7d7 (diff)
parentd5ad2a27f4e69e6cc9324331945937c983c30366 (diff)
downloadlibrambutan-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/cpp/booleanvariables.rst')
-rw-r--r--docs/source/lang/cpp/booleanvariables.rst54
1 files changed, 54 insertions, 0 deletions
diff --git a/docs/source/lang/cpp/booleanvariables.rst b/docs/source/lang/cpp/booleanvariables.rst
new file mode 100644
index 0000000..6051b8c
--- /dev/null
+++ b/docs/source/lang/cpp/booleanvariables.rst
@@ -0,0 +1,54 @@
+.. highlight:: cpp
+
+.. _lang-booleanvariables:
+
+Booleans
+========
+
+A **boolean** holds one of two values, :ref:`true
+<lang-constants-true>` or :ref:`false <lang-constants-false>`. On a
+Maple, each boolean variable has type ``bool``.
+
+.. warning::
+
+ On an Arduino, the type ``boolean`` is also provided. While the
+ Maple also has this type for compatibility, **its use is strongly
+ discouraged**. The ``bool`` type is a standard part of C++, while
+ ``boolean`` is a non-standard extension that serves no purpose.
+
+Example
+-------
+
+::
+
+ int ledPin = 13; // LED on pin 13
+ int switchPin = 12; // momentary switch on 12, other side connected to ground
+
+ // running is a boolean variable:
+ bool running = false;
+
+ void setup() {
+ pinMode(ledPin, OUTPUT);
+ pinMode(switchPin, INPUT);
+ digitalWrite(switchPin, HIGH); // turn on pullup resistor
+ }
+
+ void loop() {
+ if (digitalRead(switchPin) == LOW) {
+ // switch is pressed - pullup keeps pin high normally
+ delay(100); // delay to debounce switch
+ running = !running; // toggle running variable
+ digitalWrite(ledPin, running) // indicate via LED
+ }
+ }
+
+See also
+--------
+
+
+- :ref:`Boolean constants <lang-constants-bool>`
+- :ref:`Boolean operators <lang-boolean>`
+- :ref:`Variables <lang-variables>`
+
+
+.. include:: cc-attribution.txt