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

news2024/11/26 3:56:27

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\staging
  user: C:\Users\用户名\Documents\Arduino
library:
  enable_unsafe_install: true
logging:
  file: ""
  format: text
  level: info
metrics:
  addr: :9090
  enabled: 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.coloradmin.cn/o/1879031.html

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

相关文章

宝塔安装rabbitMQ实战

服务器环境说明 阿里云服务器、宝塔、centos7 一、下载erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。 下载地址:http://www.erlang.org/downloads 下载对应的版本&…

2024年6月29日 每周新增游戏

图吧工具箱: 全名图拉丁吧硬件检测工具箱,是开源、免费、绿色、纯净的硬件检测工具合集,专为图钉及所有DIY爱好者制作,包含常用硬件测试和检测工具,月工JS必备! iGuzheng爱古筝iguzheng古筝是一款可以在线模拟古筝练习的软件,用户可以直接在手机上练习古筝&#xff…

知识不成体系?这篇Mysql数据库将成为你的解忧杂货店!(Mysql用户管理)

欢迎来到一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力 对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426qq.com 。发布文章的风格因专栏而异,均自成体系,不足…

【漏洞复现】时空智友ERP updater.uploadStudioFile接口处存在任意文件上传

0x01 产品简介 时空智友ERP是一款基于云计算和大数据技术的企业资源计划管理系统。该系统旨在帮助企业实现数字化转型,提高运营效率、降低成本、增强决策能力和竞争力,时空智友ERP系统涵盖了企业的各个业务领域,包括财务管理、供应链管理、生…

C++初学者指南-3.自定义类型(第一部分)-基本自定义类型/类

C初学者指南-3.自定义类型(第一部分)-基本自定义类型/类 文章目录 C初学者指南-3.自定义类型(第一部分)-基本自定义类型/类1.类型种类(简单)2.为什么选择自定义类型?单向计数器提升序列 3.限制成员访问成员函数公共(public) vs. 私有(private…

软考满分范文“论模型驱动架构设计方法及其应用”,软考高级,系统架构设计师

论文真题 模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型独立于实现技术,以标准化的方式储存,利用…

北京高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

在北京高校大学智能制造实验室,一项具有划时代意义的数字孪生可视化系统平台建设项目近日顺利完成了验收工作。这一项目的成功实施,不仅标志着高校智能制造领域教学与研究步入了全新的数字化时代,更为未来制造业的智能化、信息化发展奠定了坚…

【Android源码】编译源码,错误解决

Android源码需求 定制Android系统将最新版本的Android系统刷入到自己的Android设备中将整个系统源码导入到AndroidStudiozhong动态调试Android系统源码 命令介绍 cd aosp source build/envsetup.sh lunch lunch aosp_x86_64-eng make -j16 2>&1 | tee build.log版本介…

HarmonyOS--路由管理--组件导航 (Navigation)

文档中心 什么是组件导航 (Navigation) ? 1、Navigation是路由容器组件,一般作为首页的根容器,包括单栏(Stack)、分栏(Split)和自适应(Auto)三种显示模式 2、Navigation组件适用于模块内和跨模块的路由切换,一次开发&#xff0…

机器学习原理之 -- 朴素贝叶斯分类器:由来及原理详解

朴素贝叶斯(Naive Bayes)分类器是一类基于贝叶斯定理(Bayes Theorem)的简单而有效的概率分类算法。由于其假设特征之间的条件独立性,因此被称为“朴素”贝叶斯分类器。尽管这种独立性假设在现实中很少完全成立&#xf…

基于PHP技术的校园论坛设计的设计与实现-计算机毕业设计源码08586

摘 要 本项目旨在基于PHP技术设计与实现一个校园论坛系统,以提供一个功能丰富、用户友好的交流平台。该论坛系统将包括用户注册与登录、帖子发布与回复、个人信息管理等基本功能,并结合社交化特点,增强用户之间的互动性。通过利用PHP语言及其…

Pytorch实战(一):LeNet神经网络

文章目录 一、模型实现1.1数据集的下载1.2加载数据集1.3模型训练1.4模型预测 LeNet神经网络是第一个卷积神经网络(CNN),首次采用了卷积层、池化层这两个全新的神经网络组件,接收灰度图像,并输出其中包含的手写数字&…

【吊打面试官系列-MyBatis面试题】#{}和${}的区别是什么?

大家好,我是锋哥。今天分享关于 【#{}和${}的区别是什么?】面试题,希望对大家有帮助; #{}和${}的区别是什么? #{} 是预编译处理,${}是字符串替换。 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网…

对话贾扬清:我创业这一年所看到的 AI

引言 在这次对话中,前阿里巴巴人工智能专家、现LIBRINAI创始人贾扬清分享了他在AI领域创业一年的见解和经历。作为一位从科学家转型为CEO的创业者,他探讨了AI计算、异构计算和云原生软件的结合带来的革命性变化,并讨论了LIBRINAI如何在激烈的…

Redis 集群模式

一、集群模式概述 Redis 中哨兵模式虽然提高了系统的可用性,但是真正存储数据的还是主节点和从节点,并且每个节点都存储了全量的数据,此时,如果数据量过大,接近或超出了 主节点 / 从节点机器的物理内存,就…

无人机远程控制:北斗短报文技术详解

无人机(UAV)技术的快速发展和应用,使得远程控制成为了一项关键技术。无人机远程控制涉及无线通信、数据处理等多个方面,其中北斗短报文技术以其独特的优势,在无人机远程控制领域发挥着重要作用。本文将详细解析无人机远…

【SQL】已解决:MySQL 服务无法启动

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:MySQL 服务无法启动 一、分析问题背景 MySQL是一种流行的开源关系型数据库管理系统,在许多应用中被广泛使用。有时在启动MySQL服务时,可…

Spring Boot集成jasypt快速入门Demo

1.什么是Jasypt? Jasypt(Java Simplified Encryption)是一个专注于简化Java加密操作的工具。 它提供了一种简单而强大的方式来处理数据的加密和解密,使开发者能够轻松地保护应用程序中的敏感信息,如数据库密码、API密…

PHP校园论坛-计算机毕业设计源码08586

摘 要 本项目旨在基于PHP技术设计与实现一个校园论坛系统,以提供一个功能丰富、用户友好的交流平台。该论坛系统将包括用户注册与登录、帖子发布与回复、个人信息管理等基本功能,并结合社交化特点,增强用户之间的互动性。通过利用PHP语言及其…

【D3.js in Action 3 精译】1.2.2 可缩放矢量图形(二)

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介 1.1 何为 D3.js?1.2 D3 生态系统——入门须知 1.2.1 HTML 与 DOM1.2.2 SVG - 可缩放矢量图形 ✔️ 第一部分【第二部分】✔️第三部分(精译中 ⏳) 1.2.3 Canvas 与 WebGL&#x…