Arduino 常用函数
Arduino 编程语言是建立在 C/C++ 语言基础上的,即以 C/C++ 语言为基础,把 AVR 单片机(微控制器)相关的一些寄存器参数设置等进行函数化,以利于开发者更加快速地使用。其主要使用的函数包括数字 I/O 引脚操作函数、模拟 I/O 引脚操作函数、高级 I/O 引脚操作函数、时间函数、中断函数、串口通信函数和数学函数等等。
数字 I/O 函数
数字 IO 口输入输出模式定义函数
void pinMode(pin, mode);
pin 表示为 0~13,mode 表示为 INPUT 或 OUTPUT。
数字 IO 口输出电平定义函数
void digitalWrite(pin, value);
pin 表示为 0~13,value 表示为 HIGH 或 LOW。比如定义 HIGH 可以驱动 LED。
数字 IO 口读输入电平函数
int digitalRead(pin);
pin 表示为 0~13,value 表示为 HIGH 或 LOW。比如可以读 数字传感器。
模拟 I/O 函数
模拟 IO 口读函数
int analogRead(pin);
pin 表示为 05(Arduino Diecimila 为 05,Arduino nano 为 07).比如可以读模拟传感器(10位 AD,05V 表示为 0~1023)。
PWM 数字 IO 口 PWM 输出函数
void analogWrite(pin, value);
Arduino 数字 IO 口标注了 PWM 的 IO 口可使用该函数,pin 表示 3,5,6,9,10,11,value 表示为 0~255。比如可用于电机 PWM 调速或音乐播放。
设置 ADC 参考电压
void analogReference(type);
高级 I/O 函数
调声函数
void tone(pin, frequency);
void tone(pin, frequency, duration);
void noTone(pin);
脉冲宽度测量函数
int pulseIn(pin, value);
int pulseIn(pin, value, timeout);
中断函数
设置外部中断
对中断引脚进行初始化配置
void attachInterrupt(interrupt, function, mode);
禁用外部中断
void detachInterrupt (uint8_t interruptNum)
另外,Arduino 还定义了两个开中断和关中断的宏。
#define interrupts() sei()
#define noInterrupts() cli()
时间函数
延时函数(单位 ms)
void delay(ms);
延时函数(单位 μs)
void delayMicroseconds(us);
返回时间(毫秒)
uint32_t mills(void);
返回时间(微秒)
uint32_t micros(void);
这两个函数用于得到从程序开始运行以来的时间,mills()
函数返回以毫秒表示的时间,而 micros()
函数返回以微秒表示的时间。当计时溢出后会自动从零开始计数,mills()
函数会在程序运行约 50 天后溢出,而 micros()
会在程序运行约 70 分钟后溢出。
数字函数
求最小值
min(x, y);
求最大值
max(x, y);
计算绝对值
abs(x)
约束函数,下限 a,上限 b,x 必须在 ab 之间才能返回。
constrain(x, a, b)
约束函数,value 必须在 fromLow 与 toLow 之间和 fromHigh 与 toHigh 之间。
map(value, fromLow, fromHigh, toLow, toHigh)
开方函数,base 的 exponent 次方
pow(base, exponent)
平方
sq(x)
开根号
sqrt(x)