课程简介
– 头文件(.h文件)和源文件(.cpp文件)建立及用途
本节教程结束后程序代码状态 (无法复制本站代码?请点击这里找到原因。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
/* * 零基础入门学用Arduino教程 * 第四章 - 专项教程 * 第二部分 - 面向对象编程 示例程序 - 4 * 太极创客 WWW.TAICHI-MAKER.COM * 2019-04-21 */ #include "Led.h" void setup() { Serial.begin(9600); Led myLed; //建立Led类对象myLed myLed.setLedPin(3); int myLedPin = myLed.getLedPin(); Serial.print("int myLedPin = "); Serial.println(myLedPin); Led myLed2(7); //建立Led类对象myLed2 int myLed2Pin = myLed2.getLedPin(); Serial.print("int myLed2Pin = "); Serial.println(myLed2Pin); Serial.println("Hello, this is from Setup()"); for(int i = 0; i < 3; i++){ myLed.on(); myLed2.on(); delay(1000); myLed.off(); myLed2.off(); delay(1000); } } void loop() { } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#ifndef _LED_H_ #define _LED_H_ #include <Arduino.h> class Led { public: Led(); Led(int userLedPin); ~Led(); void on(); void off(); int getLedPin(); void setLedPin(int userLedPin); private: int ledPin = 2 ; }; #endif |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include "Led.h" Led::Led(){ Serial.println("Led Object Created."); pinMode(2, OUTPUT); } Led::Led(int userLedPin) { Serial.println("Led Object Created."); ledPin = userLedPin; pinMode(ledPin, OUTPUT); } Led::~Led(){ Serial.println("Led Object Deleted."); } void Led::on(){ digitalWrite(ledPin, HIGH); } void Led::off(){ digitalWrite(ledPin, LOW); } int Led::getLedPin(){ return ledPin; } void Led::setLedPin(int userLedPin){ ledPin = userLedPin; pinMode(ledPin, OUTPUT); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/* * ifdef/ifndef示例程序 * * 太极创客Arduino教程 * WWW.TAICHI-MAKER.COM * 2019-04-21 */ #define DEBUG void setup() { Serial.begin(9600); #ifdef DEBUG // #ifdef 可被翻译为 #if define Serial.println("DEBUG Defined."); #endif #ifndef DEBUG // #ifndef 可被翻译为 #if not define Serial.println("DEBUG NOT Defined."); #endif } void loop() { } |