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

一、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(num,DEC);
}

在主文件中包含头文件:在主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.h"

class LedFun
{
    public:
      void setLedOn();
      void blinkLed(int num);
    // private:
    //   char num;
};


#endif

ledFun.cpp 文件代码如下:

//#include "Print.h"
//#include "HardwareSerial.h"
#include "ledFun.h"

void LedFun::setLedOn()
{
  Serial.println("set led on");
}

void LedFun::blinkLed(int num)
{
  Serial.println(num,DEC);

}

主函数文件代码如下:

#include "ledFun.h"

const 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 i=0;
  i++;
  myLedFun.blinkLed(i);
  delay(3000);


}

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

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值