Arduino模块化编程

news2024/11/18 5:49:04

当用Arduino做复杂工程项目时,程序难免会变得很大。这时候要修改个别参数或函数的时候会变得麻烦,简而言之,项目程序管理难度增高了,程序代码维护会变得困难。这时候,就产生了将一个ino文件分解成多个功能相对独立的源文件,这样就便于针对性的管理代码了。这就是模块化编程。
模块化编程,首先明确的是,安卓项目文件夹内,必须包含1个ino,1个.h文件,多个.cpp文件。
在这里插入图片描述
文件介绍
关于.ion文件: 必须要有。这个是创建项目后,保存即可生成。用来存放setup和loop的主要程序;
关于.h文件: 必须要有。没有这个,关联不了.cpp文件。所有.cpp文件都应包含这个头文件;
函数的声明,应当在.h里写好,这样可以省去cpp中函数的先后排序。因为ion里是可以乱序的,但是cpp不允许函数乱序!
关于.cpp文件: 不能是.c文件。c文件可以直接改后缀来使用;
经验1: 最好每个文件都包含 #include “Arduino.h” 和 #include “config.h”,不需要的文件再注释掉,避免遗漏;
最终效果
在这里插入图片描述
代码示例
main.ino
主程序,它无需包含Arduino.h头文件声明,自带了。但是需要声明config.h用来关联;
在这里插入图片描述
config.h
配置关联的头文件。除了.ion外,都应声明Arduino.h,否则一些指令API无法识别;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
好了,经过这么分拆改造后,一个很大的安卓程序,就变成好几个模块化的.h+.cpp组成的程序了,
下次项目需要哪个,就编辑哪个就是了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/641852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

屏幕录制为什么没有声音?录屏如何录入声音?

案例:我刚刚对电脑屏幕进行了录制,录制完成之后,查看录屏文件,才发现视频没有声音,顿时感觉到很崩溃。 【很多时候录制电脑屏幕的同时,还需要录制声音。那录屏的时候怎么把声音一起录进去?求一…

steam/csgo搬砖全套操作流程之如何选品(第②课)

Steam游戏搬砖项目已经在网赚圈存在好多年了,懂行的朋友一定明白:项目越稳定,赚钱越长久!今天阿阳继续给大家分享这个项目最核心的部分: 第二课 Steam装备选品一直是这个项目的核心,阿阳也罗列了几个的问题…

Pandas+Pyecharts | 中国高校及专业数据分析可视化

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据 🏳️‍🌈 3. Pyecharts数据可视化3.1 全国高校分布地图3.2 全国高校分布城市地图3.3 本科/专科占比3.4 985/211/双一流高校数量占比…

【Python】一文带你认识 异常处理 + 简单操作

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

2023百城巡展杭州站:强合作、深扎根,“浙”里共赢数安蓝海

灵秀杭州,数字经济之城 十年来,以不凡实力 筑就了繁荣的数字经济 成为中国数据要素最为集中的城市之一 6月9日,“新起点 新战略 共赢数安蓝海”,2023美创科技百城巡展来到了“大本营”——杭州。 邀老友,迎新友&…

jenkins发布Kubernetes(K8s)集群(基于containerd)

一、实验环境 1、k8s环境 版本v1.26.5,容器为containerd 二进制安装Kubernetes(K8s)集群(基于containerd)—从零安装教程(带证书) 主机名IP系统版本安装服务master0110.10.10.21rhel7.5nginx、etcd、api-server、scheduler、controller-manag…

高考落榜,误打误撞学习了软件测试现在月薪30k成为了人人羡慕的对象

记得我刚高考结束时,并没有想象中的狂欢,反而是一种处于一种坐立不安的焦虑中,因为那时单纯地认为:这张试卷,将决定我的一生。对于将信仰寄托于高考的学生来说,当网页上高考成绩弹出的一瞬间,世…

软件测试基础知识 —— 黑盒测试

黑盒测试 黑盒测试又称正确性测试,或功能测试,是对产品的各功能进行验证,用于检查产品是否达到用户要求的功能或者说检查软件的功能是否符合规格说明。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部…

利用隐藏的正例进行无监督的语义分割

文章目录 Leveraging Hidden Positives for Unsupervised Semantic Segmentation摘要本文方法目标函数Gradient Propagation to Local Hidden Positives 实验结果 Leveraging Hidden Positives for Unsupervised Semantic Segmentation 摘要 对标记像素级注释的人力的巨大需求…

CancelToken中断请求

使用场景&#xff1a;页面切换时&#xff0c;主动取消掉未调用完成的接口 注意&#xff1a;因为测试&#xff0c;连续调用5次请求&#xff0c;正常情况下只用一次 <script> import axios from axios; //这里采用传递executor函数到CancelToken的构造函数来创建cancel to…

python使用 flask+vue 制作前后端分离图书信息管理系统

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 制作前后端分离图书信息管理系统的思路&#xff1a; 前端部分 首先&#xff0c;我们可以使用 VueJS 作为前端框架&#xff0c;并通过 Vue CLI 工具进行创建和管理项目。 后端部分 后端部分我们可以采用 Python Flask 框架,这…

访问学者去日本需要做什么准备?

作为访问学者前往日本需要做一些准备工作&#xff0c;确保顺利进行研究和交流。以下是知识人网的一些建议&#xff1a; 1. 签证&#xff1a;在计划出国前&#xff0c;你需要办理日本的访问学者签证。了解签证类型和所需材料&#xff0c;并提前准备好申请所需的文件。 2. 研究计…

农村饮水安全政策要求与解决措施

农村饮水安全&#xff0c;是指农村居民能够及时、方便地获得足量、洁净、负担得起的生活饮用水。农村饮水安全包括水质、水量、用水方便程度和供水保证率4项评价指标。 一、农村饮水安全问题 农村饮水安全问题一直是农村发展的重要问题。在过去&#xff0c;由于农村供水设施落…

杰林码在荧光细胞识别中的应用(一)

一、杰林码轮廓预测算法 本算法是基于我的《一种全新的图像变换理论的实验》系列博客中的算法构造的轮廓预测算法&#xff0c;能有效的进行细胞轮廓预测&#xff0c;而且从前景到背景支持50个深度层次的轮廓预测。优点&#xff1a; 1、支持各种清晰度和分辨率&#xff0c;通过…

this关键字

1. 关键字&#xff1a;this 1.1 this 是什么&#xff1f; 首先。this在Java中是一个关键字&#xff0c;this 指代的是本类的引用对象 1.2 什么时候使用 this 1.2.1 实例方法或构造器中使用当前对象的成员 1、在实例方法或构造器中&#xff0c;我们在使用get和set方法中使用…

年化33.8%,夏普1.22:lightGBM在ETF行业模动上小试牛刀(附代码下载)。

原创文章第240篇&#xff0c;专注“个人成长与财富自由、世界运作的逻辑与投资"。 今天做排序学习算法在ETF行业轮动上的策略&#xff0c;我们选用的DBDT框架是lightGBM&#xff0c;它的优点就是快且效果不错。 我们的候选集是29个行业ETF&#xff1a; etfs [159870.S…

Python编程:标准库logging使用

Python编程&#xff1a;标准库logging使用 一、 基础使用 1.1 logging使用场景 ​ 日志是什么&#xff1f;这个不用多解释。百分之九十的程序都需要提供日志功能。Python内置的logging模块&#xff0c;为我们提供了现成的高效好用的日志解决方案。但是&#xff0c;不是所有的…

python爬虫——怎么抓取职位信息

目录 背景 为什么要抓取职位信息 怎么抓取职位信息 代码示例 被反爬怎么办 使用代理IP进行爬取 总结 背景 高考刚结束&#xff0c;马上又到了大学生毕业的时候了&#xff0c;各大厂也开始了一波招工潮了&#xff0c;想知道大厂或竞争对手都招些什么人&#xff0c;有什么…

来了解一下这几个网络设备日志级别分别都适用在何种场景?

在华为设备中&#xff0c;涉及到日志的&#xff0c;我们经常会在日志级别上迷糊&#xff0c;本文就给大家介绍8种日志级别以及每个级别适用的场景。 1. Emergency&#xff08;紧急&#xff09; 紧急级别的日志是指最高级别的日志&#xff0c;表示系统遇到了严重的错误或故障&…

JMeter+Ant+jenkins搭建接口自动化测试环境

目录 前言&#xff1a; 1.ant简介 2. 构建ant环境 3.JMeter与Ant集成 4. 报告优化 5.jenkins持续集成 前言&#xff1a; JMeter是一个开源的性能测试工具&#xff0c;可以用于测试Web应用程序或API接口的性能&#xff0c;支持多种通信协议和数据格式。Ant是一个构建工具&…