网站开发分析,电商设计类插画,杭州做网站下沙,电子商务网站推广方法一、esp8266模块信息 二、中英文切换
点击文件( File )–选择首选项( Preference )—选择语言( Language )—选择中文–点击确定( OK )
三、多文件编程 在Arduino编程中#xff0c;将代码分割成多个文件是一种很好的做法#xff0c;特别是项目变得越来越大和复杂时。这样…一、esp8266模块信息 二、中英文切换
点击文件( File )–选择首选项( Preference )—选择语言( Language )—选择中文–点击确定( OK )
三、多文件编程 在Arduino编程中将代码分割成多个文件是一种很好的做法特别是项目变得越来越大和复杂时。这样做可以提高代码的可读性和可维护性。Arduino IDE原生支持C因此你可以使用C的特性如头文件.h文件和源文件.cpp或.ino文件来组织程序代码。 将Arduino代码分割成多个文件步骤如下 创建头文件.h文件头文件通常包含类的声明、函数原型或常量定义。在Arduino项目中可以将公共的函数声明或类定义放在头文件中。 例如创建一个名为myFunctions.h的头文件
// myFunctions.h
#ifndef MYFUNCTIONS_H
#define MYFUNCTIONS_H void setupLED();
void blinkLED(); #endif //MYFUNCTIONS_H或者
#ifndef MYFUNCTIONS_H
#define MYFUNCTIONS_H class LedFun
{public:void setupLED(); void blinkLED(int num); //private://char num;
};
#endif //MYFUNCTIONS_H创建源文件.cpp或.ino文件源文件包含函数的实现。在Arduino项目中你可以将函数的实现放在源文件中。注意Arduino IDE主要使用.ino文件作为源文件但你也可以使用.cpp文件并在IDE中手动设置编译选项。 例如创建一个名为myFunctions.cpp的源文件
// myFunctions.cpp
#include myFunctions.h
#include Arduino.h void setupLED() { // LED设置代码 Serial.println(set led);
} void blinkLED() { // LED闪烁代码
}或者
#include myFunctions.h
#include Arduino.h void LedFun::setupLED()
{Serial.println(set led);
}void LedFun::blinkLED(int num)
{Serial.println(numDEC);
}在主文件中包含头文件在主Arduino文件通常是.ino文件中包含创建的头文件。这样就可以在主文件中调用在头文件中声明的函数了。 例如主.ino文件中
// main.ino
#include myFunctions.h void setup() { setupLED();
} void loop() { blinkLED();
}或者
#include myFunctions.h LedFun myLedFun;void setup() {// put your setup code here, to run once:myLedFun.setupLED();
}void loop() {myLedFun.blinkLED(1);
}在Arduino IDE中编译和上传将所有文件放在同一个文件夹中并在Arduino IDE中打开主.ino文件。然后编译和上传代码到Arduino开发板。
四、测试
工程文件夹下新建文件重命名为 ledFun.cpp 和 ledFun.h 工程会自动加载。 测试代码 ledFun.h 文件代码如下
#ifndef LEDFUN_H
#define LEDFUN_H#include Arduino.hclass LedFun
{public:void setLedOn();void blinkLed(int num);// private:// char num;
};#endifledFun.cpp 文件代码如下
//#include Print.h
//#include HardwareSerial.h
#include ledFun.hvoid LedFun::setLedOn()
{Serial.println(set led on);
}void LedFun::blinkLed(int num)
{Serial.println(num,DEC);}主函数文件代码如下
#include ledFun.hconst int BAUD_RATE 115200;LedFun myLedFun;void setup() {// put your setup code here, to run once:Serial.begin(BAUD_RATE);//初始化串口通信delay(1000);//等待监视器连接Serial.println();myLedFun.setLedOn();
}void loop() {static int i0;i;myLedFun.blinkLed(i);delay(3000);}测试结果