Arduino
一.前言
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。
由于arduino IDE支持各种型号的硬件,比如我的STM32,ESP8266等等,所以使用的人也越来越多。Arduino IDE将许多多复杂的操作都封装成了库,开发者直接调用接口就可以了,大大的提高了开发的效率,这也正是好多开发者选择的注意原因。
二.Arduino 编程语法
1. 常量
HIGH | LOW
:
表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)
INPUT | OUTPUT
:
表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR能提供5V电压 40mA电流)
2. 结构
初始化变量,管脚模式,调用库函数等,执行一次
void setup() {
}
循环连续执行函数内的语句
void loop(){
}
3. 数字 I/O
ping 表示引脚的编号不同的开发板,表示不同
数字IO口输入输出模式定义函数,pin表示为0~13, mode表示为INPUT或OUTPUT。
pinMode(pin, mode);
数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。比如定义HIGH可以驱动LED。
digitalWrite(pin, value);
数字IO口读输入电平函数,pin表示为0~13,返回值 value 表示为HIGH或LOW。比如可以读数字传感器。
int value = digitalRead(pin);
4. 模拟 I/O
模拟IO口读函数,pin表示为0~5(Arduino Diecimila为0~5,Arduino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)
int value = analogRead(pin);
PWM 数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。
analogWrite(pin, value);
5. 时间函数
返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。
unsigned long millis();
延时函数(单位ms)
delay(ms);
延时函数(单位us)
delayMicroseconds(us);
6. 串口收发函数
串口定义波特率函数,speed表示波特率,如9600,19200等
Serial.begin(speed);
判断缓冲器状态
int Serial.available();
读串口并返回收到参数
int Serial.read();
清空缓冲器
Serial.flush();
串口输出数据
Serial.print(data);
串口输出数据并带回车符
Serial.println(data);
7. 数学函数
求最小值
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);