Arduino Programming Language Reference
rduino programs can be divided in three main parts: structure, values (variables and constants), and functions.
Structure
Variables
Constants
Functions
Digital I/O
setup() loop()
Control Structures
HIGH | LOW INPUT | OUTPUT true | false integer constants floating point constants
pinMode() digitalWrite() digitalRead()
if if...else for switch case while do... while break continue return goto
Analog I/O
Data Types
analogReference() analogRead() analogWrite() - PWM
void boolean char unsigned char byte int unsigned int word long unsigned long float double string - char array
Advanced I/O
tone() noTone() shiftOut() shiftIn() pulseIn()
Further Syntax
; (semicolon) {} (curly braces) // (single line comment) /* */ (multi-line comment) #define
Time
millis() micros() delay() delayMicroseconds()
Math
#include
String - object array
min() max() abs() constrain() map() pow() sqrt()
Arithmetic Operators
= (assignment operator) + (addition) - (subtraction) * (multiplication) / (division) % (modulo)
Conversion
char() byte() int() word() long() float()
Trigonometry
Comparison Operators
sin() cos() tan()
Variable Scope & Qualifiers
== (equal to) != (not equal to) < (less than) > (greater than) <= (less than or equal to) >= (greater than or equal to)
variable scope static volatile const
Random Numbers
randomSeed() random()
Utilities
Bits and Bytes
sizeof()
lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit()
Boolean Operators
&& (and) || (or) ! (not)
Pointer Access Operators
* dereference operator & reference operator
External Interrupts
Bitwise Operators
attachInterrupt() detachInterrupt()
& (bitwise and) | (bitwise or)
Interrupts
interrupts()
^ (bitwise xor) ~ (bitwise not) << (bitshift left) >> (bitshift right)
noInterrupts()
Communication
Serial Stream
Compound Operators
++ (increment) -- (decrement) += (compound addition) -= (compound subtraction) *= (compound multiplication) /= (compound division) &= (compound bitwise and) |= (compound bitwise or)
Looking for something else? See the libraries page for interfacing with particular types of hardware. Try the list of community-contributed code. The Arduino language is based on C/C++. It links against AVR Libc and allows the use of any of its functions; see its user manual for details.