Reference   Language (extended) | Libraries | Comparison | Changes

Language Reference (extended)

The Arduino language is based on C/C++ and supports all standard C constructs and some C++ features. It links against AVR Libc and allows the use of any of its functions; see its user manual for details.

Structure

Control Structures

Further Syntax

Arithmetic Operators

  • = (assignment operator)
  • (addition)
  • - (subtraction)
  • * (multiplication)
  • / (division)
  • % (modulo)

Comparison Operators

  • == (equal to)
  • != (not equal to)
  • < (less than)
  • > (greater than)
  • <= (less than or equal to)
  • >= (greater than or equal to)

Boolean Operators

  • && (and)
  • || (or)
  • ! (not)

Pointer Access Operators

Bitwise Operators

Compound Operators

  • ++ (increment)
  • -- (decrement)
  • += (compound addition)
  • -= (compound subtraction)
  • *= (compound multiplication)
  • /= (compound division)

  • &= (compound bitwise and)
  • |= (compound bitwise or)

Variables

Constants

Data Types

Conversion

Variable Scope & Qualifiers

Utilities

Reference

Functions

Digital I/O

Analog I/O

Advanced I/O

  • shiftOut(dataPin, clockPin, bitOrder, value)
  • unsigned long pulseIn(pin, value)

Time

Math

Trigonometry

Random Numbers

Bits and Bytes

External Interrupts

Interrupts

Communication

Looking for something else? Try the list of community-contributed code.

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.