Arduino 是由 C/C++ 混合编写而成。Arduino 语言也继承了 C/C++ 语言的语法。通常所说的 Arduino 语言,是指 Arduino 核心库文件提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。
Arduino 的基本程序由 setup()
和 loop()
组成,这两个函数是必须的。可以发现 Arduino 不像 C/C++ 语言一样包含 main()
函数。但是它也可以有头文件和自定义函数等要素。
void setup()
{
// 在这里加入你的setup代码,它只会运行一次:
}
void loop()
{
// 在这里加入你的loop代码,它会不断重复运行:
}
/*
* State change detection: 检测按键按下的状态并累计次数
*/
// 定义端口
const int ledPin = 13;
const int buttonPin = 2;
// 设置变量
int currentButtonState = 0;
int lastButtonState = 0;
int count = 0;
void setup() {
// 初始化端口
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
// 设定串行通信的波特率
Serial.begin(9600);
}
void loop() {
// 读取按键端口数据
currentButtonState = digitalRead(buttonPin);
if (currentButtonState != lastButtonState){ // 检测按键状态是否与上一状态一样
if (currentButtonState == HIGH){ // 若不一样,则判断当前按键状态是否为按下
digitalWrite(ledPin, HIGH);
count++;
Serial.println("on");
Serial.println("the Count of Puches: ");
Serial.println(count);
}
else{
digitalWrite(ledPin, LOW);
Serial.println("off");
}
delay(100);
}
lastButtonState = currentButtonState;
}
在 analogWrite() 和 analogRead() 函数内部,已经完成了引脚的初始化,因此不用在 Setup() 函数中进行初始化操作。
/* Map an analog value to 8 bits (0 to 255) */
void setup() {}
void loop()
{
int val = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(9, val);
}
注意:不会将值限制在该范围内,因为超出范围的值有时是有意义且有用的。如果需要对范围进行限制,则可以在此函数之前或之后使用 constrain() 函数
Serial.print(78, BIN) gives "1001110"
Serial.print(78, OCT) gives "116"
Serial.print(78, DEC) gives "78"
Serial.print(78, HEX) gives "4E"
Serial.print(1.23456, 0) gives "1"
Serial.print(1.23456, 2) gives "1.23"
Serial.print(1.23456, 4) gives "1.2346"