Reference   Language (extended) | Libraries | Comparison | Board

Arduino 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

In Arduino, the standard program entry point (main) is defined in the core and calls into two functions in a sketch. setup() is called once, then loop() is called repeatedly (until you reset your board).

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

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

External Interrupts

Interrupts

Serial Communication

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.