什么是PlatformIO

这是一个依附于VisualStudio Code工具的平台,可以在上面编译包含AVR,STM32,ESP32等等嵌入式平台、架构,并且能直接在VSCode界面下上传到目标中,

 

为什么要使用这一个工具,我先上一个测试结果

 

在编译好大部分文件后,修改部分int形数据,以重新复用的形式使用Arduino IDE来编译,耗时:16.42秒

idesktop 11 对应postgis版本 platform ide_串口

同一个使用了U8x8库的工程,使用PlatformIO进行编译,耗时:2.13秒

idesktop 11 对应postgis版本 platform ide_调试工具_02

然后,再试试看从头编译所有文件的速度,Arduino IDE耗时:41.2秒

 

使用PlatformIO进行编译,耗时:25.3秒

idesktop 11 对应postgis版本 platform ide_调试工具_03

 

优势非常的巨大

 

 

如何用上PlatformIO

操作很简单,首先你需要有一个Visual Studio,然后点击左侧扩展标识

idesktop 11 对应postgis版本 platform ide_上传_04

搜索Platform IDE,并且进行安装

 

idesktop 11 对应postgis版本 platform ide_串口_05

.

之后,会先进行初始化,在自动化安装一些必要的编译器等工具后,会提示重新启动VSCode

idesktop 11 对应postgis版本 platform ide_调试工具_06

在重新启动VSCode完成后点击小房子这个标识

idesktop 11 对应postgis版本 platform ide_上传_07

 

此时就可以出现PlatformIO的主页面了

idesktop 11 对应postgis版本 platform ide_上传_08

点击建立新的工程,我选择了一个Arduino Nano

idesktop 11 对应postgis版本 platform ide_上传_09

然后配置一下新建工程的目录以及名称

idesktop 11 对应postgis版本 platform ide_调试工具_10

在第一次使用的时候会需要下载一些工具比如编译器和下载器等等,所以需要稍等一会儿

idesktop 11 对应postgis版本 platform ide_串口_11

最终完成建立工程是这样子的,可以看到左侧出现了多个文件夹,其中有 setup 和 loop 函数的在src>>main.cpp中

idesktop 11 对应postgis版本 platform ide_串口_12

我写了一个简单的串口的测试程序

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

在左下角的位置有编译和上传按钮

idesktop 11 对应postgis版本 platform ide_上传_13

然后试着编译,从没有任何文件情况下,生成.o文件在变成.elf文件只需要3秒,可以说是有着非常高的效率

idesktop 11 对应postgis版本 platform ide_调试工具_14


 

但是自带的串口工具并不是太好上手,所以或许可以继续沿用Arduino IDE的,比如说你要配置个波特率,会需要使用到platformio.ini文件进配置,没有可使用的图形界面

idesktop 11 对应postgis版本 platform ide_上传_15

完成配置后可以看到串口调试工具正常的按照我们设置的115200波特率启动

idesktop 11 对应postgis版本 platform ide_串口_16

如果没有配置这里,那么就是以9600默认波特率启动串口调试工具

 

 

后记

使用platformIO来编译有着非常高效的特点,但是不兼容.ino文件,也就是你要自己去设计头文件了,但好在这种方法可以和传统的使用Arduino IDE的方法相辅相成。

 

另外查错也变得需要更长时间,这个缺点同样影响效率。

idesktop 11 对应postgis版本 platform ide_串口_17