发帖
8 0 0

在vscode上使用Arduino插件编译基于Arduino的小安派

妖猊
论坛元老

17

主题

3294

回帖

6634

积分

论坛元老

积分
6634
技术杂谈 1401 8 2023-12-11 14:57:58

很多人使用Arduino大多数都是使用Arduino IDE来写,但是我们基本都是安装了vscode软件的,为了写东西,装那么那么多软件,其实,没必要,在vscode上装上Arduino插件也是可以编写Arduino和烧录的,

VS Code的优势和Arduino IDE的劣势

如果是使用Arduino IDE,只需要去官网下载,然后无脑安装即可,非常简单。但使用VS Code,却需要相对麻烦的配置。但付出总是有回报的,这里简单聊聊VS Code的优势和Arduino IDE的劣势。

  • VS Code可以溯源代码,这个对于理解第三方库来说要方便不少
  • VS Code智能提示(IntelliSence)让码代码工作量大减

前期准备

  • 已有VSCode并懂其基本工作原理,会基本使用
  • 不用下载Arduino IDE,如果下载了,完全可以卸载。

安装arduino插件和其他插件

要在vscode上开发Arduino,最重要的一点就是要安装Arduino插件
微信截图_20231209140426.png

配置环境,使用arduino-cli

完成以上配置之后,在vscode中的arduino插件管理中,点击右侧齿轮,选择扩展设置,进行arduino环境的配置。
2013183-20231130154857413-2081076318.png
在设置当中有两项比较重要的配置:一个是Arduino的Path路径,另一个是是否启用Use Arduino Cli,这个默认时勾选的。如果没有设置Arduino的Path时,就会调用arduino-cli来对Arduino进行编译、上传等操作。

  1. 实际上,arduino程序到2.0版本之后,就没有arduino.exe这个可执行程序了,就算将arduino的安装路径设置为Path,也没办法进行使用。添加Path路径的方法只适用于Arduino2.0之前的版本。
  2. Arduino Cli,Command Line Interface,一种arduino命令行的界面程序,有兴趣的可以了解一下,功能十分强大。链接:Arduino Cli
    2013183-20231130154857964-1654383349.png
    其实在安装完Arduino插件后,会自动下载arduino-cli.exe程序,路径为:
    C:\Users\用户名\.vscode\extensions\vsciot-vscode.vscode-arduino-0.6.0-win32-x64\assets\platform\win32-x64\arduino-cli\arduino-cli.exe## 配置bouffalolab开发环境

此处与Arduino IDE配置bouffalolab的过程类似,都是需要加载第三方的板载文件。
因为通过Arduino进行bouffalolab的开发,其实也是基于bouffalolab sdk,再封装了一层,以支持Arduino的语法。

添加bouffalolab网址并更新开发板列表

Ctrl+Shift+P,输入arduino: Board Manager打开开发板管理器,
在右下角点击"Additional URLs"
微信截图_20231209143213.png
可能第一次的时候会弹出下面的提示而不是上图
微信截图_20231209140654.png
这个时候点击“Use bundled arduino-cli”就好了
再重复一次上面的操作

打开后选择“添加项”,输入网址:“https://github.com/bouffalolab/arduino-bouffalo/releases/latest/download/package_bouffalolab_index.json”,保存。
微信截图_20231209143201.png
此时,返回开发板管理器页面,点击"Refresh Package Indexs",等待,并选择对应板子的install选项(这一步可能有梯子会更快,实测,没有梯子会卡也可能会报错= =)
微信截图_20231209143304.png
微信截图_20231209143908.png
微信截图_20231209144210.png
微信截图_20231209172235.png
完成后,就会得到图中所示的bouffalolab的开发板文件了

新建编译并烧录

先打开一个工作区,然后执行 arduino.initialize进行初始化新建ino文件

微信截图_20231211131306.png
选择板子,选择618版型

微信截图_20231211131141.png
代码可以写如下点灯

//初始化IO15作为输出模式
pinMode(15, OUTPUT);
}

void loop() {
//开启蓝色LED
digitalWrite(15, HIGH);
//休眠1秒
delay(1000);
//关闭蓝色LED
digitalWrite(15, LOW);
//休眠一秒
delay(1000);
}

右下角选择串口,右上角进行编译上传,或者验证代码
微信截图_20231211133111.png
烧录之前得先让m61进入烧录模式

添加头文件及代码补全

微信截图_20231211134919.png
微信截图_20231211135033.png
这填上插件下载bouffalolab库的位置
路径为:C:\Users\用户\AppData\Local\Arduino15\packages\bouffalolab\hardware\bouffalolab\1.0.5
后续我们如果想自己适配Arduino,可以这个路径下继续加代码进行适配

──── 0人觉得很赞 ────

使用道具 举报

2023-12-11 15:10:27
园长第一个打卡!
2023-12-11 15:27:29
打卡,妖哥写的真棒,免去再去安装高版本IDE
2023-12-11 17:26:28
厉害
2023-12-11 19:10:18
妖哥厉害
2023-12-12 10:07:56
插眼,以后学
2023-12-12 10:37:58
2023-12-12 21:57:33
2023-12-14 11:30:46
流弊啊
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28290 个
  • 话题数: 40267 篇