Mac 下 Arduino 开发环境搭建

2023-11-12

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 打开文件夹存在两种情况:

  1. 文件夹中有 Arduino 文件
  2. 文件夹中无 Arduino 文件

如果打开的是有 Arduino 文件的文件夹:

使用 VS Code 打开 Arduino 模块文件夹,VS Code 的 Arduino 扩展能自动识别到 Arduino 文件


VS Code 底部状态栏标号处分别为:

  1. 编程器
  2. 开发板类型
  3. 串口监视器
  4. 串行端口

可以根据自己的开发需求选择开发板相关配置,本人的配置如下:


在完成选择后,可以看到文件夹中多了一个 .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


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac 下 Arduino 开发环境搭建 的相关文章

随机推荐

  • 【软件工程】第五章 结构化设计

    5 1 结构化设计的概念 5 1 1 设计的定义 何谓设计 一种软件开发活动 定义实现需求规约所需的软件结构 目标 依据需求规约在一个抽象层上建立系统软件模型 包括软件体系结构 数据和程序结构 以及详细的处理算法 给出软件解决方案 产生设计
  • 欧拉回路【总结】【题解】

    题目 欧拉回路 UOJ 欧拉回路 Liuser s OJ 题目描述 有一天一位灵魂画师画了一张图 现在要你找出欧拉回路 即在图中找一个环使得每条边都在环上出现恰好一次 一共两个子任务 无向图 有向图 输入格式 第一行一个整数 t 表示子任务
  • vue项目启动后,js-base64依赖报错Cannot read properties of null (reading ‘replace’)

    cannot read properties of null reading replace 关于这种乱七八糟的问题 咱也不敢说 在哪也不敢问 项目运行之后 有一些警告 都是一些依赖版本的问题 平时也能直接给运行起来 这次就是项目可以运行起
  • rabbitmq+springboot实现幂等性操作

    文章目录 1 场景描述 1 1 场景1 1 2 场景2 2 原理 3 实战开发 3 1 建表 3 2 集成mybatis plus 3 3 集成RabbitMq 3 3 1 安装mq 3 3 2 springBoot集成mq 3 4 具体实
  • 阿里云服务器使用xshell连接

    阿里云服务器使用xshell连接 当购买了第一次阿里云服务器时 如何使用xshell连接 其实是非常简单的 1 登录阿里云控制台 1 是你的阿里云服务器所在地址 2 是公网IP 将来远程连接时需要使用 3 是设置远程连接的密码 用户名默认r
  • 在x86和arm编译libmodbus

    编译libmodbus 下载路径 1 编译准备 sudo apt get install libtool autogen sh 2 arm编译 autogen sh mkdir install configure ac cv func ma
  • 电压电流的驱动能力分析以及计算方法

    文章为笔者学习过程中看到的 感觉帮助较大 分享出来希望能帮助到大家 在电子电路中为什么有的地方电压会被拉低2 驱动能力是什么意思 如何提高驱动能力 在很多资料上看到说驱动能力不够是因为提供的电流太小 为什么不说电压呢 在很多限制的条件都是电
  • BIOS开启虚拟化技术

    什么是BIOS BIOS 是一个内置于个人计算机的程序 当您打开计算机时该程序启动操作系统 也称为系统固件 BIOS 是计算机硬件的一部分 不同于 Windows 怎么进入BIOS 电脑进入BIOS的方法各有不同 通常会在开机时 显示电脑l
  • atoi函数源代码

    atoi函数源代码 isspace int x if x x t x n x f x b x r return 1 else return 0 isdigit int x if x lt 9 x gt 0 return 1 else ret
  • CPU是如何读写内存的?

    如果你不知道CPU是如何读写内存的 那你应该好好看看这篇文章 如果你觉得这是一个非常简单的问题 那你更应该好好读读本文 这个问题绝没有你想象那么简单 一定要读完 闲话少说 让我们来看看CPU在读写内存时底层究竟发生了什么 1 谁来告诉CPU
  • Mybatis二级缓存应用场景和局限性

    二级缓存应用场景 对查询频率高 变化频率低的数据建议使用二级缓存 对于访问多的查询请求且用户对查询结果实时性要求不高 此时可采用mybatis二级缓存技术降低数据库访问量 提高访问速度 业务场景比如 耗时较高的统计分析sql 电话账单查询s
  • ChatGPT是否具有记忆能力?

    ChatGPT在某种程度上具有记忆能力 但它的记忆能力有限且不像人类的记忆那样全面和持久 以下是对ChatGPT的记忆能力的详细分析 1 上下文记忆 ChatGPT可以在对话过程中记住先前的对话历史 以便更好地理解和回应后续的问题 通过将上
  • 带你了解并实践monorepo和pnpm,绝对干货!熬夜总结!

    大厂技术 高级前端 Node进阶 点击上方 程序员成长指北 关注公众号 回复1 加入高级Node交流群 为什么使用monorepo 什么是monorepo 简单来说就是 将多个项目或包文件放到一个git仓库来管理 目前比较广泛应用的是yar
  • java面试笔试基本知识点总结

    1 正则表达式 正则表达式定义了字符串的模式 正则表达式可以用来搜索 编辑或处理文本 正则表达式并不仅限于某一种语言 但是在每种语言中有细微的差别 在编写处理字符串的程序时 经常会有查找符合某些复杂规则的字符串的需要 正则表达式就是用于描述
  • hikaricp druid比较_Spring Boot整合MybatisPlus和Druid

    在Java中 我比较ORM熟悉的只有Hibernate和Mybatis 其他的并未实践使用过 在这二者之间我更喜欢Mybatis 因为它精简 灵活 毕竟我是上年纪的程序员 喜欢自己写SQL 刚才有提到Mybatis 但是这里的重点是介绍My
  • 应用APK文件有效瘦身

    先说下前言 为什么要这样处理 随着项目的越来越多丰富功能 打包出来的apk体积日益变大 不说打包耗时 编译耗时 发布到应用市场 用户下载流量多 而且手机空间那么有限 用户不满意 咱们就要进行改变呗 没有体验 就没有用户 我先贴一张图 演示项
  • Python常用命令整理

    Anaconda常用命令 1 管理Conda 1 检查conda版本 conda version 2 升级当前版本conda conda update conda 2 管理 虚拟 环境 1 创建环境 创建一个名为python3的环境 指定P
  • Visual Studio 安装检测内存工具-Visual Leak Detetctor。(适用于VS2013、VS2015、VS2017、VS2019、VS2022版本)

    目录 前言 Visual Leak Detetctor 外部安装VLD 安装包 配置VLD 查看相关文件 将VLD配置到C 项目中 创建一个C 的空工程 配置头文件 配置lib库 测试Visual Leak Detetctor 前言 如果你
  • Got permission denied while trying to connect to the Docker daemon socket

    docker权限问题 需要将当前用户添加到docker组 sudo groupadd docker 添加docker用户组 sudo gpasswd a XXX docker 检测当前用户是否已经在docker用户组中 其中XXX为用户名
  • Mac 下 Arduino 开发环境搭建

    文章目录 Mac 下 Arduino 开发环境搭建 驱动 Arduino 安装 Arduino IDE 使用 Arduino IDE 准备跑路 VS Code 安装 VS Code 安装 Arduino 扩展 安装 C C 扩展 开始开发