什么是PlatformIO
这是一个依附于VisualStudio Code工具的平台,可以在上面编译包含AVR,STM32,ESP32等等嵌入式平台、架构,并且能直接在VSCode界面下上传到目标中,
为什么要使用这一个工具,我先上一个测试结果
在编译好大部分文件后,修改部分int形数据,以重新复用的形式使用Arduino IDE来编译,耗时:16.42秒
同一个使用了U8x8库的工程,使用PlatformIO进行编译,耗时:2.13秒
然后,再试试看从头编译所有文件的速度,Arduino IDE耗时:41.2秒
使用PlatformIO进行编译,耗时:25.3秒
优势非常的巨大
如何用上PlatformIO
操作很简单,首先你需要有一个Visual Studio,然后点击左侧扩展标识
搜索Platform IDE,并且进行安装
.
之后,会先进行初始化,在自动化安装一些必要的编译器等工具后,会提示重新启动VSCode
在重新启动VSCode完成后点击小房子这个标识
此时就可以出现PlatformIO的主页面了
点击建立新的工程,我选择了一个Arduino Nano
然后配置一下新建工程的目录以及名称
在第一次使用的时候会需要下载一些工具比如编译器和下载器等等,所以需要稍等一会儿
最终完成建立工程是这样子的,可以看到左侧出现了多个文件夹,其中有 setup 和 loop 函数的在src>>main.cpp中
我写了一个简单的串口的测试程序
#include <Arduino.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("Using platform");
}
在左下角的位置有编译和上传按钮
然后试着编译,从没有任何文件情况下,生成.o文件在变成.elf文件只需要3秒,可以说是有着非常高的效率
但是自带的串口工具并不是太好上手,所以或许可以继续沿用Arduino IDE的,比如说你要配置个波特率,会需要使用到platformio.ini文件进配置,没有可使用的图形界面
完成配置后可以看到串口调试工具正常的按照我们设置的115200波特率启动
如果没有配置这里,那么就是以9600默认波特率启动串口调试工具
后记
使用platformIO来编译有着非常高效的特点,但是不兼容.ino文件,也就是你要自己去设计头文件了,但好在这种方法可以和传统的使用Arduino IDE的方法相辅相成。
另外查错也变得需要更长时间,这个缺点同样影响效率。