Arduino programs can be divided in three main parts: structure, values (variables and constants), and functions.
Structure
• setup() 每次 Arduino 上电或重启后,setup 函数只运行一次,用于初始化变量、设置针脚的输出\输入类型、配置串口、引入类库文件等等
• loop() 该函数在程序运行过程中不断的循环
Control Structures 结构控制
• if
• if...else
• for
• switch case
• while
• do... while
• break
• continue
• return
• goto
Further Syntax 进一步的语法
• ; (semicolon)
• { } (curly braces)
• // (single line comment)
• /* */ (multi-line comment)
• #define
• #include
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 指针运算符
• * dereference operator
• & reference operator
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)
Variables
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
Functions
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