当前位置: 首页 > news >正文

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);}

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

http://www.lryc.cn/news/325381.html

相关文章:

  • 【微服务】Eureka(服务注册,服务发现)
  • windows上ssh设置代理,直接访问公司内网
  • C++ union用法
  • JavaSE_运算符 案例分析
  • 15、Spring Cloud Alibaba Sentinel实现熔断与限流
  • Linux logout命令教程:如何安全地退出Linux会话(附实例详解和注意事项)
  • 数据结构——顺序表(C语言版)
  • Knative 助力 XTransfer 加速应用云原生 Serverless 化
  • 服务器离线配置vscode连接,conda虚拟环境
  • 各种需要使用的方法-->vue/微信小程序/layui
  • 360奇酷刷机 360刷机助手 QGDP360手机QGDP刷机
  • 2299. 强密码检验器 II
  • 跟着cherno手搓游戏引擎【29】Batch简单合批
  • 粘包/半包及解决方案
  • 2024华为软件精英挑战赛记录
  • 数据可视化艺术:Matplotlib与Seaborn实战
  • python初级第一次作业
  • Spring Boot整合Camunda打造高效工作流程
  • 2.8、下拉刷新与上拉加载
  • java Web餐馆订单管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
  • 小程序从入门到入坑:事件系统
  • Windows蓝牙驱动开发之模拟HID设备(二)(把Windows电脑模拟成蓝牙鼠标和蓝牙键盘等设备)
  • 快速区分清楚图形渲染中的AABB,KD树和BVH这些概念
  • Rust 的 HashMap 特定键值元素值的累加方法
  • Java后端项目性能优化实战-群发通知
  • 5、Jenkins持续集成-Maven和Tomcat的安装与配置
  • Qt教程 — 3.7 深入了解Qt 控件: Layouts部件
  • 自动驾驶的几种名词
  • 华为全套企业管理资料合集(21专题)
  • LeetCode Python - 74. 搜索二维矩阵