Arduino舒适的开发环境搭建:vscode+PlatformIO
一、前言
Arduino自带的IDE用在小的工程时还可以应付,但是面对大型工程时,就比较鸡肋了。本着想愉快的编写Arduinio的代码,让我们开始“折腾”吧~
开发环境:
- win10
- vscode + PlatformIO插件
- Arduino 官方的IDE 1.8.16
- 手头有一个Arduino UNO板卡
二、开始
首先下载、安装vscode。然后安装platformio插件,如下图:

这个插件在使用IDE新建工程时,有些bug,就是特别慢,网上说是需要从github上下载一些东西,所以就很慢,而国内在使用github时有时候就是挺慢的。不过还是想用这么香的东西,肿么办呢?且听我慢慢道来。
使用IDE方式新建helloworld工程:

首先点击如图所示的,更新一下pio core,下面是官方的介绍(官方文档链接),小伙伴记得仔细看官方文档呦。
然后点击下面的New Project。

这里在选择工程路径时,有时加载会有些慢。然后点击底部的Finish,之后会加载一段时间,这个时间真是很奇怪,快时只需要几秒钟,慢时一个小时也搞不定。慢时我后面会讲如何应对。
之后窗口中会出现两个相同的文件夹,需要右击任意删除一个(点击Remove folder from workspace)。之后save as一个workspace。
处理之后一定要确保左侧的工作空间窗口中像上图这样,即一个workspace下面只有一个helloworld4的工作目录。如果是像下面这样嵌套的路径结构或者其他的结构,后面在编写源文件时,可能会出现头文件引用找不到的问题,即例如右侧B处的Serial下面有个红色波浪线,提示找不到该玩意儿在哪里。。。

而这点是vscode中c/c++插件的一个bug(详情参见此链接),只要想办法绕过此bug即可。
当然若实在是头文件引用错误的话,可以暴力点,关闭所有的错误提示,从此再无红色波浪线(设置看此链接)。
编写源代码:
下面是让LED灯闪烁,并发送数据到串口。
main.cpp:
1 |
|
对了,arduino的代码其实就是C++代码,当然可以分成很多个子.cpp,.h来编写代码,参考链接1, 链接2。
编译,烧录:
上图中A是编译,B是烧录,C是打开串口工具。


下面是串口中的数据:

搞定!
若通过IDE方式来创建工程,很慢的话,请接着往下看
首先看下这个链接。
可以通过CLI的方式来创建工程,用vscode打开一个空文件夹,然后在terminal中敲入 pio project init --board uno
,然后会在vscode中释放一堆一样的文件夹结构(这个过程会快一些吧),然后打开这个platformio工程,此时看下platformio.ini文件中是否正确,如下所示。

现在新建并编写自己的源文件即可。
最后:
