A Beginner's Arduino Guide/Arduino Language

The Arduino Language is the set of words, expressions and rules that are used to create Arduino Sketches.

The Arduino Language is based on C and C++

The Arduino Language allows for the use of any functions from the 'AVR Libc' which is a subset of the standard C library for Atmel AVR 8-bit RISC micro-controllers

The language is made up of keywords that are written based on rules.

Arduino Keywords

The keywords used to create the sketches can be divided into three types- Functions ,Structures and Values ( Values can be either Constants or Variables).

Below are a non-exhaustive list of standard Arduino sketch words, to add words, new libraries can be imported into the IDE.

Functions

Functions are small groups of code that do a single task or group of tasks (they have one function). They include

Category Keyword
Digital I/O
  • pinMode()
  • digitalWrite()
  • digitalRead()
Analog I/O
  • analogReference()
  • analogRead()
  • analogWrite() - PWM
Due & Zero only
  • analogReadResolution()
  • analogWriteResolution()
Advanced I/O
  • tone()
  • noTone()
  • shiftOut()
  • shiftIn()
  • pulseIn()
Time
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()
Math
  • min()
  • max()
  • abs()
  • constrain()
  • map()
  • pow()
  • sqrt()
Trigonometry
  • sin()
  • cos()
  • tan()
Characters
  • isAlphaNumeric()
  • isAlpha()
  • isAscii()
  • isWhitespace()
  • isControl()
  • isDigit()
  • isGraph()
  • isLowerCase()
  • isPrintable()
  • isPunct()
  • isSpace()
  • isUpperCase()
  • isHexadecimalDigit()
Random Numbers
  • randomSeed()
  • random()
Bits and Bytes
  • lowByte()
  • highByte()
  • bitRead()
  • bitWrite()
  • bitSet()
  • bitClear()
  • bit()
External Interrupts
  • attachInterrupt()
  • detachInterrupt()
Interrupts
  • interrupts()
  • noInterrupts()
Communication
  • Serial
  • Stream
USB (32u4 based boards and Due/Zero only)
  • Keyboard
  • Mouse

Structures these are words used to create a flow or structure in the program. they include

Category Keyword
Overall Structure
  • setup()
  • loop()
Control Structures
  • if
  • if...else
  • for
  • switch case
  • while
  • do... while
  • break
  • continue
  • return
  • goto
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)
  • Bitwise Operators
    • & (bitwise and)
    • | (bitwise or)
    • ^ (bitwise xor)
    • ~ (bitwise not)
    • << (bitshift left)
    • >> (bitshift right)
    Compound Operators
    • ++ (increment)
    • -- (decrement)
    • += (compound addition)
    • -= (compound subtraction)
    • *= (compound multiplication)
    • /= (compound division)
    •  %= (compound modulo)
    • &= (compound bitwise and)
    • |= (compound bitwise or)
    Pointer Access Operators
    • * dereference operator
    • & reference operator
    Syntax
    •  ; (semicolon)
    • {} (curly braces)
    • // (single line comment)
    • /* */ (multi-line comment)
    • #define
    • #include

    Values

    These act like containers and hold a certain value they may be constant which implies a container whose value that doesn't change throughout the program or a variable, which implies a container whose value that does change.

    Category Keyword
    Constants
    • HIGH | LOW
    • INPUT | OUTPUT | INPUT_PULLUP
    • LED_BUILTIN
    • true | false
    • integer constants
    • floating point constants
    Data Types
    • void
    • boolean
    • char
    • unsigned char
    • byte
    • int
    • unsigned int
    • word
    • long
    • unsigned long
    • short
    • float
    • double
    • string - char array
    • String - object
    • array
    Conversion
    • char()
    • byte()
    • int()
    • word()
    • long()
    • float()
    Variable Scope & Qualifiers
    • variable scope
    • static
    • volatile
    • const
    Utilities
    • sizeof()
    • PROGMEM
    Category:Book:A Beginner's Arduino Guide#Arduino%20Language%20
    Category:Book:A Beginner's Arduino Guide