VS Code Arduino编程

①Arduino

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。

②VS Code(全称 Visual Studio Code)

是由微软开发的一款开源、轻量级的跨平台现代代码编辑器,根据 Stackoverflow 统计,VS Code 是目前最受欢迎的开发环境。

VS Code 可以通过扩展插件实现几乎任何你想要的功能和配置,如代码高亮、代码片段、自动完成等,也可以支持几乎任何一种语言,包括 Arduino C 。

③VS Code X Arduino(VS Code中配置arduino开发环境)

由于 Arduino 自身的 IDE 编写代码的功能过于单一,而在VS Code 编辑器中配置 arduino 开发环境,不仅能提供代码补全、代码格式检查等智能代码编辑功能,还能提供函数和变量的自动注解,包括标准库里对函数的定义和解释(鼠标悬停就会触发)等极佳的代码编辑服务体验。降低了开发的时间成本和学习难度。

--本文将会带领大家在 VS Code 上配置 Arduino 的开发环境,并介绍 VS Code 优秀的编辑器功能的应用 。

④配置环境安装方式操作目录

一、配置流程

Step 1. 安装 Arduino IDE

Step 2. 安装 VS Code

Step 3. 安装 VS Code 的相关插件

Step 4. 配置插件

二、编写程序并通过USB上传

Step 1. 通过将Arduino开发板接入电脑

Step 2. 编写程序

Step 3. 配置开发板信息并上传

三、其他操作

Step 1. 打开串行监视器

🌟 更多高级功能

一、配置流程

Step 1. 安装 Arduino IDE

· Windows 由于高版本存在输出控制台乱码的问题,所以推荐安装低版本的 IDE

Step 2. 安装 VS Code

Step 3. 安装 VS Code 的相关插件

3.1 首先安装 C/C++ 的插件

3.2 然后安装 Arduino 插件

3.3 最后安装 arduino-snippets 插件

【💡注意】 VS Code 还有很多实用的主题和插件和插件可以选择

如「Chinese」汉化插件,「Prettier」代码格式化插件等 在插件中搜索相关关键字就可以获得这些插件。

Step 4. 配置插件

4.1 安装完成之后,点击 Arduino 插件旁边的小齿轮图标,选择「扩展设置」

4.2【字段设置一:Command Path】设置中的 Command Path 字段设置如下:

macOS 平台——/Contents/MacOS/Arduino

Windows 平台——arduino_debug.exe

4.3【字段设置二:Path】设置中的Path 字段设置如下:

macOS——/Applications/Arduino.app/

Windows ——D:\\Arduino\\arduino-1.8.8\\

注:每个人的安装路径都可能不同,请填入自己的安装路径

4.4 设置启动自动补全

最后,点击下图右上角的文件图标之后,会进入一个编辑页面,在下图的位置中插入如下代码:"C_Cpp.intelliSenseEngine": "Tag Parser"

最后,重启 VS Code,完成配置。

二、编写程序并通过USB上传

Step 1. 通过将Arduino开发板接入电脑

Step 2. 编写程序

方式 1:在任意位置新建一个后缀为 .ino 的文本文件,使用 VS Code 打开,并编写。

方式 2(常用):新建工程文件夹,拖入 VS Code 中打开,再新建后缀为 .ino 的文本文件。

⚠️注意:项目文件夹和文件的名称应该相同且不能包含中文,否则不能通过编译。

此时你会发现你的代码编辑器已经有了自动格式化、语法高亮和自动补全了,这已经比原生 IDE 非人的体验好了很多。

Step 3. 配置开发板信息并上传

3.1 首先配置你连接的开发板信息:

3.2 然后就可以进行上传操作了:

出现 Done 字样之后说明上传成功,Arduino 主板此时已经开始执行代码功能。

三、其他操作

Step 1. 打开串行监视器

1.点击右下角的类似插座的图标,将波特率设置成代码中相同的速率。

2.输出窗口的选项中选择「serial monitor」,就可以看到检视器的内容了。

🌟 更多高级功能

在 VS Code 界面下,按下快捷键 Ctrl + Shift + P(Windows)或者 Command ⌘+ Shift ⇧+ P(macOS)启动命令输入窗 ,输入「Arduino」 即可查看更多高级功能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第4天|数据变换Transforms

学习内容复盘 1.1 数据变换 什么是数据变换、为何要数据变换 通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数…

Jenkins定时构建自动化(二):Jenkins的定时构建

目录 ​编辑 一、 jenkins定时构建语法: 1. 语法规则: 2. 常见用法举例 3. 再次举例 接上一篇:Jenkins定时构建自动化(一):Jenkins下载安装配置:Jenkins定时构建自动化(一):Jenkins下载安装配置-CSDN博客 …

32 - 判断三角形(高频 SQL 50 题基础版)

32 - 判断三角形 select *,if(xy>z and xz>y and zy > x,Yes,No) triangle fromTriangle;

[GXYCTF2019]禁止套娃1

buu打开题目进去看到,只有一行字 只有一行字的话,那么没有可用的信息,那么可以去查看一下源码或者是看一下network里是不是有一些提示,发现都没有,那就利用dirsearch去扫描一下目录 python dirsearch.py -u http://f87…

华为海思CPU解读

安全可靠CPU测评结果(华为海思篇) 中国信息安全测评中心于2024年5月20日发布安全可靠测评结果公告(2024年第1号),公布依据《安全可靠测评工作指南(试行)》的测评结果,自发布起有效期…

昇思25天学习打卡营第4天 | 数据变换

内容介绍:通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的T…

免杀笔记 ---> C语言

这次的更新可能有点慢,因为这段时间也比较忙,加上C语言还得和汇编结合,导致小编一个知识点总是得反复揣摩(太菜了),所以免杀的更新篇幅长度可能会达到两个月和三个月,但是小编能保证&#xff0c…

RabbitMQ高频面试题整理

文章目录 1、RabbitMQ如何保证消息不丢失1)confirm 消息确认机制 (生产者)2)消息持久化机制 (RabbitMQ 服务)3)ACK 事务机制(消费者) 2、RabbitMQ 中有哪几种交换机类型?1) Direct Exchange2)Fanout Exchange3&#x…

Netty 入门实例

文章目录 1. 概述2. 代码实例2.1 服务端2.2 客户端2.3 运行截图 3. 整体结构4. 重要组件4.1 EventLoopGroup、EventLoop4.2 Handler & Pipeline4.3 ByteBuf 参考文献 1. 概述 Netty 是一款用于高效开发网络应用的 NIO 网络框架,它大大简化了网络应用的开发过程…

【物联网】室内定位技术及定位方式简介

目录 一、概述 二、常用的室内定位技术 2.1 WIFI技术 2.2 UWB超宽带 2.3 蓝牙BLE 2.4 ZigBee技术 2.5 RFID技术 三、常用的室内定位方式 3.1 信号到达时间 3.2 信号到达时间差 3.3 信号到达角 3.4 接收信号强度 一、概述 GPS是目前应用最广泛的定位技术&#xff0…

流行的app抓包工具详解和案例--开发人员首选

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

游戏大厂“脱钩”安卓商店: 独立渠道TapTap们能否渔利

一纸公告将游戏厂商与渠道的博弈再度摆上了台面。 近日,腾讯控股旗下手游《地下城与勇士:起源》(下称“DNF手游”)运营团队发布公告称,自6月20日起,DNF手游将不再上架部分安卓平台的头部应用商店。 下架的…

Unity踩坑记录

1. 如果同时在父物体和子物体上挂载BoxCollider&#xff0c;那么当使用&#xff1a; private void OnTriggerEnter2D(Collider2D collision){if (collision.CompareTag("CardGroup")){_intersectCardGroups.Add(collision.GetComponent<CardGroup>());}} 来判…

WebStorm 环境配置带@符号的相对路径穿透

在使用WebStorm 环境开发web页面项目时有时想快速查看页面的引用代码&#xff0c;只能手工找到引入文件路径&#xff0c;这很不方便&#xff0c;只需通过配置webStorm单击打开。 1 使用符号相对路径&#xff0c;在默认情况下没有配置环境是无法打开&#xff0c;如下图&#xf…

docker内apt-get update Waiting for headers 0%

问题描述 docker运行debian等容器时&#xff0c;执行apt update或者apt-get update&#xff0c;可能会出现以下错误&#xff1a;root754a91d3630a:/# apt-get update 0% [Waiting for headers] [Waiting for headers] [Connected to developer.download.nvidia.com (152.199.3…

yolov8环境搭建+训练自己数据集

一、yolov8环境搭建 1. 安装miniconda环境 地址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda 选择Python3.8版本 最好安装在C盘 勾选自动添加环境变量 ***以下操作安装过程中关闭代理软件 *** 2. 创建虚拟环境 conda create -n yolov8 python3…

Axios-入门

介绍 Axios对原生Ajax进行了封装&#xff0c;简化书写&#xff0c;快速开发 官网&#xff1a;Axios中文文档 | Axios中文网 (axios-http.cn) 入门 1引入Axios的js文件 <script src"js/axios.js"></script> 2使用Axios发送请求&#xff0c;并获取响应…

代理的匿名级别有哪些?为什么匿名性很重要?

在互联网时代&#xff0c;代理服务器在许多领域都扮演着重要的角色。无论是个人用户还是企业&#xff0c;都可能需要使用代理来保护自己的隐私和数据安全。在选择代理服务时&#xff0c;匿名级别是一个重要的考虑因素。本文将介绍代理的匿名级别&#xff0c;并解释为什么匿名性…

PDF转成清晰长图

打开一个宝藏网址在线PDF转换器/处理工具 - 在线工具系列 点击图下所示位置 按照图下所示先上传文件&#xff0c;设置转换参数后点击转换&#xff0c;等待 等待转换完成后&#xff0c;可以在转换结果处选择下载地址&#xff0c;点击即可进行下载使用了。对比了其他几个网站的转…

K8S -理解StatefulSet - 部署有状态应用

什么是 有状态服务和 无状态服务 有状态服务&#xff08;Stateful Service&#xff09;&#xff1a; 有状态服务是指在处理请求期间维护和跟踪用户状态或会话信息的服务。这意味着服务在多个请求之间保持状态&#xff0c;并且需要在请求之间共享和使用这些状态信息。通常&…