程序实例:面向对象点灯 - OOP - Wokwi Arduino and ESP32 Simulatorhttps://wokwi.com/projects/335954592898482770
传统的点灯方式:面向过程
void setup(){
Serial.begin(115200);
pinMode(33, OUTPUT);
}
void loop(){
digitalWrite(33,!digitalRead(33));
delay(500);
}
C++:面向对象
首先创建一个类,进行封装
class led {
public: // 创建的对象若只能自己访问,则用private,否则用public
byte pin;
void on();
void off();
void toggle(); // toggle切换状态
};
// 创建3个led对象
led ledGreen, ledYellow, ledRed;
void led::on() { // ::表示on()这个函数是属于led这个类
digitalWrite(pin, HIGH);
}
void led::off() {
digitalWrite(pin, LOW);
}
void led::toggle() {
digitalWrite(pin, !digitalRead(pin));
}
void setup() {
Serial.begin(115200);
ledGreen.pin = 33; // led引脚定义
pinMode(33, OUTPUT);
}
void loop() {
ledGreen.toggle();
delay(500);
}