0

0

如何用vscode进行Arduino硬件开发_编写与上传脚本的完整过程【教程】

紅蓮之龍

紅蓮之龍

发布时间:2026-01-27 19:51:20

|

514人浏览过

|

来源于php中文网

原创

VS Code需配合Arduino官方扩展和arduino-cli才能完成Arduino开发全流程。必须手动安装配置arduino-cli、初始化配置、正确选择板型与串口,并排查驱动及连接问题。

如何用vscode进行arduino硬件开发_编写与上传脚本的完整过程【教程】

VS Code 本身不原生支持 Arduino 开发,必须通过 Arduino Extension(由 Microsoft 官方维护)+ arduino-cli 底层工具链才能完成编写、验证、上传全流程。直接装插件不配 CLI,会卡在“找不到端口”或“Verify failed: no board selected”这类错误。

安装 arduino-cli 并让 VS Code 找到它

VS Code 的 Arduino 插件默认依赖系统 PATH 中的 arduino-cli 可执行文件,不是图形 IDE 那套后台服务。Windows/macOS/Linux 都要手动下载并配置路径。

  • GitHub releases 页面 下载对应系统的 arduino-cli(如 arduino-cli_0.38.2_Windows_64bit.zip),解压后把 arduino-cli.exe(或 macOS/Linux 的可执行文件)所在目录加进系统 PATH
  • 终端运行 arduino-cli version 能输出版本号才算成功;否则 VS Code 插件会提示 “arduino-cli not found”
  • 首次运行需初始化:arduino-cli config init,它会生成 arduino-cli.yaml,之后插件才能读取板卡和库配置

用 Arduino 插件新建项目并选择正确板型

插件创建的项目结构和传统 Arduino IDE 不同:它生成的是带 platformio.iniarduino.json 的纯代码目录,没有隐藏的临时构建文件夹。选错板型会导致编译失败或上传后无响应。

  • Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 “Arduino: Initialize” 创建新项目
  • 在弹出的板型列表中,不要只搜关键词如 “uno” —— 实际要选完整标识,例如 Arduino Uno 对应 arduino:avr:uno,而 Arduino Nano Everyarduino:megaavr:nona4809
  • 如果列表里没有你的开发板(比如 ESP32 或 RP2040),先在终端运行 arduino-cli core install esp32:esp32arduino-cli core install raspberry-silicon:rp2040,再重开 VS Code

上传前必须手动选择串口和端口速度

不像 Arduino IDE 自动枚举 COM/USB 设备,VS Code 插件默认不自动刷新串口列表,拔插设备后需手动触发,否则上传时显示 “No serial port available” 或上传成功但板子没反应。

家电小商城网站源码1.0
家电小商城网站源码1.0

家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l

下载
  • 连接开发板后,按 Ctrl+Shift+P 输入 “Arduino: Select Serial Port”,从下拉菜单选对的端口(Windows 是 COM3,macOS 是 /dev/cu.usbserial-XXXX,Linux 是 /dev/ttyUSB0
  • 某些板子(如 CH340 芯片的 Nano 兼容版)需要额外设置上传速率:在项目根目录建 arduino.json,写入 {"upload": {"speed": 115200}}
  • 上传命令是 Ctrl+Shift+P → “Arduino: Upload”,不是 Ctrl+S 保存就自动上传 —— 这点新手最容易误以为“写完就能跑”

常见上传失败原因和快速排查项

报错信息往往藏在 VS Code 右下角通知或输出面板(Output → Arduino)里,而不是终端窗口。很多问题其实和代码无关,而是环境链路断了。

  • Failed to execute script arduino-cli:PATH 没配好,或 arduino-cli 权限不足(macOS/Linux 需 chmod +x
  • Board arduino:avr:uno not found:core 没装全,运行 arduino-cli core list 看是否含 avr,没有就 arduino-cli core update && arduino-cli core install arduino:avr
  • 上传时进度条卡住几秒后失败:USB 驱动异常(尤其 Windows 上 CH340 需重装驱动)、USB 线仅充电不传数据、板子未进入 bootloader 模式(Nano 类需手动按复位键时机配合上传)
  • 上传成功但 LED 不闪:检查 void setup() 里是否漏了 pinMode(LED_BUILTIN, OUTPUT),或 LED_BUILTIN 定义不匹配(某些兼容板需改成 13

真正麻烦的从来不是写代码,而是让 VS Code、arduino-cli、驱动、物理连接这四层之间不互相“假装在线”。每次换电脑或换线,都建议从 arduino-cli versionarduino-cli board list 这两个命令开始验证。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

418

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

535

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

javascriptvoid(o)怎么解决
javascriptvoid(o)怎么解决

javascriptvoid(o)的解决办法:1、检查语法错误;2、确保正确的执行环境;3、检查其他代码的冲突;4、使用事件委托;5、使用其他绑定方式;6、检查外部资源等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

177

2023.11.23

java中void的含义
java中void的含义

本专题整合了Java中void的相关内容,阅读专题下面的文章了解更多详细内容。

98

2025.11.27

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

751

2026.01.21

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

739

2023.07.26

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.9万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号