476_Arduino abi.cpp文件内容分析

         全部学习汇总: https://github.com/GreyZhang/arduino_uno

         在Arduino的基础库文件实现中,发现了一个abi.cpp文件,文件内容非常简单,没太明白这个文件的设计意图。

         从注释看,这个文件中的两个接口有可能是为了做部分UART诊断信息的处理。而从接口调用看,其实,运行到这里面的接口的时候其实是系统终止了一个线程的时候。

         Abi,从这个文件看不好猜测是什么缩写,什么含义。我从网络上查了一下,普遍的解释其实是应用二进制接口的意思,但是现在看这里面的内容似乎也没有什么二进制接口的意思。

         我又查看了一下其他开源项目中的处理,这里其实是设计了两个死循环。这个看,在一定程度上这个解释为abort接口或许会更加合适。

### Arduino项目中的`.cpp`文件 #### `.cpp`文件的作用 在Arduino项目中,`.cpp`文件用于实现类的方法和函数。当创建复杂的库或模块化代码时,通常会将功能逻辑分离到单独的源文件中以便于管理和维护[^2]。 #### 如何处理`.cpp`文件 为了使Arduino IDE能够正确编译并链接`.cpp`文件,需遵循特定规则: - **包含必要的头文件** 所有的`.cpp`文件应当通过 `#include "Arduino.h"` 来引入Arduino核心API支持的功能定义。这使得可以在外部文件中使用像`digitalWrite()`这样的命令。 - **关联对应的头文件** 如果存在配套的`.h`文件,则应在相应的`.cpp`文件顶部声明它。例如,如果有一个名为`MyLibrary.h`的头文件,那么其匹配的实现文件应这样开头: ```cpp #include "MyLibrary.h" ``` - **确保正确的路径设置** 当把`.cpp`和其他资源放置在一个子目录内时,需要注意调整相对路径以让预处理器找到所需的依赖项。对于位于不同层次结构下的文件来说尤其重要[^3]。 - **清理旧的目标文件** 修改后的库可能会遗留之前版本生成的对象(`.o`)文件;建议定期清除这些中间产物来保证最新的更改被应用。这样做可以防止潜在冲突,并促使IDE重新构建整个项目树[^1]。 ```cpp // MyLibrary.cpp #include "Arduino.h" // 导入Arduino环境所需的基础宏定义和服务接口 #include "MyLibrary.h" // 自己写的公共接口描述符 void MyLibrary::begin() { pinMode(ledPin, OUTPUT); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值