0


Arduino IDE工程代码多文件编程和中文设置

一、esp8266模块信息

在这里插入图片描述
在这里插入图片描述

二、中英文切换

点击文件( File )–选择首选项( Preference )—选择语言( Language )—选择中文–点击确定( OK )
在这里插入图片描述
在这里插入图片描述

三、多文件编程

  在Arduino编程中,将代码分割成多个文件是一种很好的做法,特别是项目变得越来越大和复杂时。这样做可以提高代码的可读性和可维护性。Arduino IDE原生支持C++,因此你可以使用C++的特性,如头文件(.h文件)和源文件(.cpp或.ino文件),来组织程序代码。
将Arduino代码分割成多个文件步骤如下:
创建头文件(.h文件):头文件通常包含类的声明、函数原型或常量定义。在Arduino项目中,可以将公共的函数声明或类定义放在头文件中。
例如,创建一个名为myFunctions.h的头文件:

  1. // myFunctions.h
  2. #ifndef MYFUNCTIONS_H
  3. #define MYFUNCTIONS_H
  4. void setupLED();
  5. void blinkLED();
  6. #endif //MYFUNCTIONS_H

或者

  1. #ifndef MYFUNCTIONS_H
  2. #define MYFUNCTIONS_H
  3. class LedFun
  4. {
  5. public:
  6. void setupLED();
  7. void blinkLED(int num);
  8. //private:
  9. //char num;
  10. };
  11. #endif //MYFUNCTIONS_H

创建源文件(.cpp或.ino文件):源文件包含函数的实现。在Arduino项目中,你可以将函数的实现放在源文件中。注意,Arduino IDE主要使用.ino文件作为源文件,但你也可以使用.cpp文件,并在IDE中手动设置编译选项。
例如,创建一个名为myFunctions.cpp的源文件:

  1. // myFunctions.cpp
  2. #include "myFunctions.h"
  3. #include <Arduino.h>
  4. void setupLED() {
  5. // LED设置代码
  6. Serial.println("set led");
  7. }
  8. void blinkLED() {
  9. // LED闪烁代码
  10. }

或者

  1. #include "myFunctions.h"
  2. #include <Arduino.h>
  3. void LedFun::setupLED()
  4. {
  5. Serial.println("set led");
  6. }
  7. void LedFun::blinkLED(int num)
  8. {
  9. Serial.println(numDEC);
  10. }

在主文件中包含头文件:在主Arduino文件(通常是.ino文件)中,包含创建的头文件。这样就可以在主文件中调用在头文件中声明的函数了。
例如,主.ino文件中:

  1. // main.ino
  2. #include "myFunctions.h"
  3. void setup() {
  4. setupLED();
  5. }
  6. void loop() {
  7. blinkLED();
  8. }

或者

  1. #include "myFunctions.h"
  2. LedFun myLedFun;
  3. void setup() {
  4. // put your setup code here, to run once:
  5. myLedFun.setupLED();
  6. }
  7. void loop() {
  8. myLedFun.blinkLED(1);
  9. }

在Arduino IDE中编译和上传,将所有文件放在同一个文件夹中,并在Arduino IDE中打开主.ino文件。然后编译和上传代码到Arduino开发板。

四、测试

工程文件夹下,新建文件,重命名为 ledFun.cpp 和 ledFun.h ,工程会自动加载。
在这里插入图片描述
在这里插入图片描述
测试代码:
ledFun.h 文件代码如下:

  1. #ifndef LEDFUN_H
  2. #define LEDFUN_H
  3. #include "Arduino.h"
  4. class LedFun
  5. {
  6. public:
  7. void setLedOn();
  8. void blinkLed(int num);
  9. // private:
  10. // char num;
  11. };
  12. #endif

ledFun.cpp 文件代码如下:

  1. //#include "Print.h"
  2. //#include "HardwareSerial.h"
  3. #include "ledFun.h"
  4. void LedFun::setLedOn()
  5. {
  6. Serial.println("set led on");
  7. }
  8. void LedFun::blinkLed(int num)
  9. {
  10. Serial.println(num,DEC);
  11. }

主函数文件代码如下:

  1. #include "ledFun.h"
  2. const int BAUD_RATE = 115200;
  3. LedFun myLedFun;
  4. void setup() {
  5. // put your setup code here, to run once:
  6. Serial.begin(BAUD_RATE);//初始化串口通信
  7. delay(1000);//等待监视器连接
  8. Serial.println();
  9. myLedFun.setLedOn();
  10. }
  11. void loop() {
  12. static int i=0;
  13. i++;
  14. myLedFun.blinkLed(i);
  15. delay(3000);
  16. }

测试结果
在这里插入图片描述
在这里插入图片描述

标签: Arduino esp8266

本文转载自: https://blog.csdn.net/weixin_46158019/article/details/136848848
版权归原作者 嵌入式学习和实践 所有, 如有侵权,请联系我们删除。

“Arduino IDE工程代码多文件编程和中文设置”的评论:

还没有评论