Mac 下 Arduino 开发环境搭建
本人初入 Arduino 坑,笔记本搭载 Intel 芯片,系统版本为 macOS Monterey 12.4,开发板为 Arduino Mega 2560,通过本篇博客简单记录一下开发环境的搭建过程。
驱动
要让电脑能够识别开发板,需要先根据个人开发需要查找相应驱动版本进行安装。
本人的开发环境需要 CH340G 驱动,而因为 macOS 在 Mojave 10.14 及更高版本系统中自带了 CH340G、CH34G、CH34X 的驱动,所以无需另外安装。如有需要可参考 https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver 下载安装。
Arduino
进行 Arduino 开发需要相应的环境来支持代码编译、烧录,这里使用的是 Arduino IDE。
安装 Arduino IDE
在 Arduino 官网选择需要的版本下载即可,下载完成后会得到一个可以直接打开的应用程序,运行效果如下:
使用 Arduino IDE
将开发板与电脑连接起来,在菜单栏的工具中选择好相应的开发板、处理器和端口:
以一个简单的 Hello World 为例,在编写好代码后,可以点击左上角的验证按钮进行编译检查:
在开发完成后,点击上传按钮可以将代码上传至开发板:
在菜单栏中打开串口监视器,可以看到输出:
如果需要导入依赖库,可以前往菜单栏 -> 加载库,选择需要的库即可
如果要导入本地库文件,点击添加 .ZIP 库,然后选择文件以导入,导入成功后库列表里就有了。
准备跑路
写了几行代码后,发现原生 IDE 不支持自动补全、代码跳转等功能,所以还是不拿它写代码了。
打开 Arduino IDE 的首选项,有两个地方可以留意一下
一个是项目文件夹位置,Arduino 的项目默认会保存在这里。导入 .zip 库后,会在这个路径的 libraries 文件夹下存放 .zip 库解压后的文件,并参与后续的编译。
另一个是使用外部编辑器这一选项,这一选项勾上后 Arduino IDE 对窗口中打开的文件就是只读的而不能进行编辑,防止和外部编辑器同时修改相同文件产生冲突。
VS Code
VS Code 是微软推出的一款开源的、支持多种平台的编辑器,可以通过安装各种扩展(插件)以支持不同的功能。
安装 VS Code
前往 VS Code 官网下载并安装即可。
安装 Arduino 扩展
安装微软提供的 Arduino 扩展即可。
安装完成后,可以点击扩展右侧的齿轮按钮,然后点击扩展设置
各项配置中,Path 为 Arduino IDE 的安装位置,不填写默认为 /Applications/Arduino.app,可根据需要进行改动
Command Path 为 Arduino 可执行文件的路径,默认为 Arduino 下的 Contents/MacOS,可根据需要进行改动
Use Arduino Cli 为是否使用 Arduino Cli 而非 Arduino IDE,如果勾选的话必须同时在 Path 中指定 Cli 的路径
安装 C/C++ 扩展
需要安装扩展让 VS Code 支持 C/C++ 开发,可以根据个人喜好来选择,本人使用的部分扩展如下:
开始开发
工作区配置
使用 VS Code 打开文件夹存在两种情况:
- 文件夹中有 Arduino 文件
- 文件夹中无 Arduino 文件
如果打开的是有 Arduino 文件的文件夹:
使用 VS Code 打开 Arduino 模块文件夹,VS Code 的 Arduino 扩展能自动识别到 Arduino 文件
VS Code 底部状态栏标号处分别为:
- 编程器
- 开发板类型
- 串口监视器
- 串行端口
可以根据自己的开发需求选择开发板相关配置,本人的配置如下:
在完成选择后,可以看到文件夹中多了一个 .vscode 文件夹,里面有一个 arduino.json。
.vscode 文件夹存放着 VS Code 针对当前工作区(也就是使用 VS Code 打开的文件夹) 的配置,具体配置通过其中不同的文件进行描述。
可以看到,刚刚所选的开发板配置信息已经通过 arduino.json 记录下来了。
而如果打开的是没有 Arduino 文件的文件夹:
如打开一个空文件夹
可以按下 command + shift + p
呼出 VS Code 的命令面板,输入 Arduino
Arduino 扩展提供的功能都列在这里了
点击 Arduino: Initialize 进行项目初始化,首先创建一个 ino 文件
然后再选择开发板
确认后,可以看到此工作区的配置文件 VS Code 已经自动生成好了
开发
点击右上角验证按钮即可验证项目代码
点击右上角上传按钮即可将项目上传至开发板,上传前需要先指定串行端口
如果要使用串口监视器,先点击底部图标启动串口监视器:
然后点击数字切换到指定波特率即可:
如果 UI 上没有提供想要的操作,通过 command + shift + p
呼出命令面板查找执行即可,这一方法对各种扩展都适用。
如果 C++ 的代码提示不能正常使用,可以通过 command + ,
呼出设置界面,搜索 Intelli Sense Engine,将 C/C++ 扩展的 Intelli Sense Engine 修改为 Tag Parser