如何使用VScode创建和上传Arduino项目

Visual Studio Code (VS Code) 是一种非常流行的通用集成开发环境 (IDE)。IDE 是一种将文本编辑器、编程界面、调试视图和项目管理集成在一个地方的软件。这个开源项目由微软领导,可以在所有操作系统上运行。使 VS Code 成为所有开发人员最喜欢的选择的原因在于它的运行速度、自定义以及扩展软件功能的出色扩展的可用性。其中一个扩展是由Microsoft自己开发的Arduino扩展。

在本教程中,我们将学习如何使用 VS Code 及其扩展来开发 Arduino 项目并将它们直接上传到您的 Arduino 板,而无需使用 Arduino IDE。

安装Arduino扩展

Arduino扩展由Microsoft开发。您可以从扩展市场安装它。启动 VS Code,然后从扩展菜单 ( Ctrl + Shift + X ) 中搜索“Arduino”。安装Arduino扩展。安装后,重新加载 IDE。Arduino扩展用于在系统上使用Arduino IDE或Arduino-CLI(命令行版本)安装。但是Microsoft最近放弃了对Arduino IDE的支持,这意味着您需要安装Arduino-CLI才能使扩展正常工作。如果您不想手动安装 Arduino-CLI,该扩展现在附带 Arduino-CLI 作为其中的一部分。因此,如果您不为 Arduino-CLI 设置自定义路径,扩展将使用默认路径。在本教程中,我们将使用 Arduino-CLI 的自定义安装,并在 Arduino 扩展设置上设置路径。

配置Arduino扩展

打开VScode ,文件——>首选项——>设置,点击右上角打开设置(ui),在尾部输入:

"arduino.additionalUrls": ["http://arduino.esp8266.com/stable/package_esp8266com_index.json","其他就省略了"],"arduino.useArduinoCli": true,"arduino.clearOutputOnBuild": true,"arduino.enableUSBDetection": true,"arduino.openPDEFiletype": true,"arduino.skipHeaderProvider": true,"arduino.disableIntelliSenseAutoGen": true,"arduino.disableTestingOpen": true,"[cpp]": {"editor.wordBasedSuggestions": "off","editor.suggest.insertMode": "replace","editor.semanticHighlighting.enabled": true,"editor.quickSuggestions": {"comments": "on","strings": "on","other": "on"}}

安装Arduino-CLI

安装Arduino-CLI非常容易,Arduino IDE和CLI版本可以在系统中共存,没有任何问题。首先,从官方页面下载合适的Arduino-CLI安装程序。我们使用了 64 位 Windows exe。这将简单地下载一个包含exe文件的ZIP,您需要将其重新定位到其他驱动器,例如C驱动器。如果改用 MSI 安装程序,则可以选择安装目录。要从系统上的任何位置运行, arduino-cli 只需将安装目录添加到Windows Path 环境变量即可。

配置Arduino-CLI

打开终端输入命令:

arduino-cli help core

回文给出了arduino-cli的命令帮助,这说明安装成功了。

创建一个arduino-cli.yaml 文件

arduino-cli config init --overwrite 

 此文件将具有执行命令时获得的相同内容。您可以在文本编辑器中打开文件,并将用户目录更改为已存在的速写本文件夹并保存。在我们的例子中,它位于C:\Users\用户名\AppData\Local\Arduino15。用Notepad++编辑一下:

board_manager:additional_urls: []
daemon:port: "50051"
directories:data: C:\Users\用户名\AppData\Local\Arduino15\downloads: C:\Users\用户名\AppData\Local\Arduino15\staginguser: C:\Users\用户名\Documents\Arduino
library:enable_unsafe_install: true
logging:file: ""format: textlevel: info
metrics:addr: :9090enabled: true
output:no_color: false
sketch:always_export_binaries: false
updater:enable_notification: true

要测试配置是否正常工作,只需尝试使用以下命令列出已安装的库。

arduino-cli lib list

排除警告

编译烧录时会跳出如下警告:

那么到C:\Users\用户名\Documents\Arduino\ESP32_Async_Web_Server\.vscode文件夹修改arduino.json文件

加入"output": "D:/Code/Arduino/ArduinoOutput",格式效果如下图所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍两个压测工具pgbench\sysbench,可视化监控工具NMON

性能评估做不好,开会又领导点名叼了。/(ㄒoㄒ)/~~ /(ㄒoㄒ)/~~ /(ㄒoㄒ)/~~ 挨叼了,也要写文章,记录下我的笔记。 写篇文章 对数据库、OS性能的性能评估,需要选择合适的压测工具,给找出数据库的运行瓶颈 pgbench 这是…

AI音乐的何去何从

引言 在过去的一个月里,多个先进的音乐生成大模型相继上线。这些AI模型不仅降低了普通人创作音乐的门槛,还在音乐圈内引发了关于AI是否会彻底颠覆传统音乐创作的广泛讨论。在短暂的兴奋过后,人们开始理性地审视这些AI产品的版权归属问题&…

【图像超分辨率】一个简单的总结

文章目录 图像超分辨率(Image Super-Resolution, ISR)1 什么是图像超分辨率?2 图像超分辨率通常有哪些方法?(1)基于插值的方法(2)基于重建的方法(3)基于学习的方法(LR im…

Leetcode 78 数组子集

题目描述: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的 子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&#xff1…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-46语义分割和数据集

46语义分割和数据集 # 图像分割和实例分割 """ 图像分割将图像划分为若干组成区域,这类问题的方法通常利用图像中像素之间的相关性。 它在训练时不需要有关图像像素的标签信息,在预测时也无法保证分割出的区域具有我们希望得到的语义。 图…

企业im(即时通讯)作为安全专属的移动数字化平台的重要工具

企业IM即时通讯作为安全专属的移动数字化平台的重要工具,正在越来越多的企业中发挥着重要的作用。随着移动技术和数字化转型的发展,企业对于安全、高效的内部沟通和协作工具的需求也越来越迫切。本文将探讨企业IM即时通讯作为安全专属的移动数字化平台的…

JAVA学习笔记-JAVA基础语法-DAY19-File类、递归

第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(St…

【Science重磅】以纳米级分辨率重建的人类大脑皮层颗粒片段

翻查五月的Science发现一个有意思的项目《A petavoxel fragment of human cerebral cortex reconstructed at nanoscale resolution》由美国哈佛大学Jeff W. Lichtman 和美国谷歌研究中心 Viren Jain 共同合作 据介绍,充分了解人类大脑是如何工作的机理&#xff0c…

[Redis]主从模式

启动主从复制 由于我们只有一台机器,所以我们只能在机器上开多个redis程序来演示不同的机器 因为一个端口号只能被一个进程绑定,所以我们需要修改配置,绑定不同的端口号,并且还要修改工作目录(数据持久化的位置&#…

七天速通javaSE:第六天 对象:类与对象

文章目录 前言一、认识对象1. 编程思想1.1 面向过程1.2 面向对象 2. 面向对象编程(oop) 二、再识方法1. 修饰符2. 参数的传递与赋值2.1 值传递2.2 引用传递 总结: 三、创建与初始化对象1. 类与对象的关系2. 创建与初始化对象 四、构造函数1. …

Debugging using Visual Studio Code

One of the key features of Visual Studio Code is its great debugging support. VS Code’s built-in debugger helps accelerate your edit, compile, and debug loop. Debugger extensions VS Code 内置了对 Node.js 运行时的调试支持,可以调试 JavaScript、TypeScript…

DarkGPT:基于GPT-4-200k设计的人工智能OSINT助手

关于DarkGPT DarkGPT是一款功能强大的人工智能安全助手,该工具基于GPT-4-200k设计并实现其功能,可以帮助广大研究人员针对泄露数据库进行安全分析和数据查询相关的OSINT操作。 工具要求 openai1.13.3 requests python-dotenv pydantic1.10.12 工具安装 …

Echarts地图实现:杭州市困难人数分布【动画滚动播放】

Echarts地图实现:杭州市困难人数分布 实现功能 杭州市地区以及散点图分布结合的形式数据展示动画轮播可进去杭州市下级地区可返回杭州市地图展示 效果预览 实现思路 使用ECharts的地图和散点图功能结合实现地区分布通过动画轮播展示数据变化实现下级地区数据的展…

【Python】已解决ModuleNotFoundError: No module named ‘tensorflow‘

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决ModuleNotFoundError: No module named ‘tensorflow‘ 一、分析问题背景 ModuleNotFoundError: No module named ‘tensorflow’ 是一个常见的错误,通常在Pytho…

汽车电子工程师入门系列——汽车操作系统架构学习研究-AUTOSAR

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

chrome.storage.local.set 未生效

之前chrome.storage.local.set 和 get 一直不起作用 使用以下代码运行成功。 chrome.storage.local.set({ pageState: "main" }).then(() > {console.log("Value is set");});chrome.storage.local.get(["pageState"]).then((result) > …

有了文章生成器,轻易满足你对文章的需求

写文章对于大多数人来说并不轻松,往往一篇文章写作完成是需要消耗一个人的大量时间与精力的,如果想要写的文章特别好,那么还要再花一点时间去进入后期的修改。就没有什么方法让大家轻易的去完成文章写作吗?答案是有的,…

将 Cohere 与 Elasticsearch 结合使用

本教程中的说明向你展示了如何使用推理 API 使用 Cohere 计算嵌入并将其存储起来,以便在 Elasticsearch 中进行高效的向量或混合搜索。本教程将使用 Python Elasticsearch 客户端执行操作。 你将学习如何: 使用 Cohere 服务为文本嵌入创建推理端点&…

【python刷题】【深基5.例5】旗鼓相当的对手

题目描述 算法思路 用二维数组data存放成绩数据。双重循环遍历所有的组合,因为自己不能和自己比,所以要注意内层遍历的起始位置。新建一个数组用来得出各个科目的分差,便于代码的书写。由于分差计算出来会出现负数,所以比较的时候…

python办公自动化之pandas

用到的库:pandas 实现效果:创建一张空白的表同时往里面插入准备好的数据 代码: import pandas # 准备好要写入的数据,字典格式 data{日期:[7.2,7.3],产品型号:[ca,ce],成交量:[500,600]} dfpandas.DataFrame(data) # 把数据写入…