讲师中心 微信公众号
AI工具推荐 视频效率加速

Sublime怎么配置Arduino开发环境?Sublime编写单片机程序教程

夏明吖_5963

夏明吖_5963

发布时间:2026-05-07 11:49:00

|

856人浏览过

|

来源于php中文网

原创

Sublime Text 不能直接编译或烧录 Arduino 代码,因其仅为编辑器,需通过配置 Build System 调用 arduino-cli 实现编译上传;Stino 插件已停更、不兼容新版工具链,推荐使用 arduino-cli + 自定义 Build System 方案。

sublime怎么配置arduino开发环境?sublime编写单片机程序教程

Sublime Text 本身不能编译或烧录 Arduino 代码,它只是编辑器;真正干活的是 arduino-cli,Sublime 只负责调用它——配置对了就能一键编译上传,配错了就卡在 command not found: arduino-cli 或 Serial was not declared in this scope。

为什么别碰 Stino 插件

Stino 已停更多年,依赖已废弃的 Arduino IDE 1.x API,遇到新版 arduino-cli 或 Arduino IDE 2.x 就直接报错:AttributeError: 'NoneType' object has no attribute 'get'、Failed to parse boards.txt。它还会偷偷覆盖你的 arduino-cli 配置,导致串口识别失败。你手动改好串口,它下次启动又给你清空。

  • 它要求你必须装完整版 Arduino IDE,并硬编码路径(如 "arduino_app_path": "/Applications/Arduino.app/Contents/Java"),但新版 IDE 结构已变,路径失效
  • 板型列表加载失败是常态,Board Manager 点开一片空白
  • 上传时经常报 No serial port found,因为它根本不会读取 arduino-cli board list 的真实结果

必须用 arduino-cli + 自定义 Build System

这是目前唯一稳定、可复现、不依赖 GUI 的方式:把 arduino-cli 当纯命令行工具,Sublime 只做触发器和输出展示器。

  • 先确认 arduino-cli 装对了:arduino-cli version 要能返回 0.39+(别用 pip install arduino-cli,那是旧版)
  • 运行 arduino-cli config init,再执行 arduino-cli core update-index && arduino-cli core install arduino:avr
  • 在 Sublime 中新建 Build System(Tools → Build System → New Build System),粘贴以下内容并保存为 ArduinoCLI.sublime-build:
{
  "cmd": ["arduino-cli", "compile", "--fqbn", "arduino:avr:uno", "$file_path"],
  "working_dir": "$file_path",
  "selector": "source.arduino",
  "variants": [
    {
      "name": "Upload",
      "cmd": ["arduino-cli", "upload", "-p", "/dev/cu.usbmodem14201", "--fqbn", "arduino:avr:uno", "$file_path"]
    }
  ]
}

注意:/dev/cu.usbmodem14201 要换成你当前真实的串口(macOS 运行 ls /dev/cu.* 查,Windows 是 COM3,Linux 是 /dev/ttyACM0);arduino:avr:uno 必须写全 FQBN,uno 单独写会失败。

头文件跳转和语法支持怎么补

Sublime 默认不认识 Arduino.h,Ctrl+Click 跳不到定义,也没自动补全。这不是插件问题,是路径没告诉编辑器。

  • 打开 Preferences → Settings – User,加一行:"index_files": true(启用索引)
  • 在项目根目录(即含 .ino 文件的文件夹)里,手动创建 .sublime-project,填入 include 路径(以 macOS 为例):
{
  "folders": [
    {
      "path": "."
    }
  ],
  "settings": {
    "additional_search_paths": {
      "cpp": [
        "/Users/yourname/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino",
        "/Users/yourname/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard"
      ]
    }
  }
}

路径要按你本地 arduino-cli config get board_manager.additional_urls 和实际安装位置调整。不配这个,digitalWrite 永远标黄,跳转永远失败。

最常被忽略的一点:每次换 USB 线或插到不同电脑,串口名必变,-p 参数就得手动改一次;FQBN 写错一个字符(比如 arduino:avr:un0 少个 o),编译直接静默失败,连错误提示都不给——它只在终端里输出一行 Failed to compile,而 Sublime 默认折叠输出,你根本看不到。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
单片机编程软件有哪些
单片机编程软件有哪些

单片机常用的编程软件有:1、Keil编程开发环境;2、IAR;3、STC-ISP;4、STM32CubeIDE;5、Altium Designer。更多关于单片机编程软件的内容,大家可以访问本专题下面的文章。

6242

2023.10.12

单片机编程软件推荐
单片机编程软件推荐

常见的单片机编程软件可分为三类:1、专有软件,如keil uvision和iar embedded workbench;2、开源软件,如arduino ide和eclipse with cdt;3、跨平台软件,如visual studio code和atom。想了解更多单片机的相关内容,可以阅读本专题下面的文章。

2807

2024.05.20

plc和单片机的区别
plc和单片机的区别

plc和单片机的区别:1、体积和结构不同:PLC体型通常较大,带有模块化结构,由多个组件组成,而单片机体型更小,通常由一个单芯片组成;2、存储容量不同:PLC通常具有较大的存储容量,用于存储程序和数据,单片机存储容量通常较小,但足以满足其应用需求;3、可编程性不同等等。想了解更多plc的相关内容,可以阅读本专题下面的文章。

8123

2024.05.30

树莓派和单片机的区别
树莓派和单片机的区别

树莓派和单片机的主要区别在于功能和应用。树莓派基于linux操作系统,拥有强大的计算能力和丰富的软件生态系统,适用于物联网、小型服务器、教育和爱好者项目等场景。单片机基于简单的微控制器,计算能力有限,主要用于嵌入式系统和控制特定设备,如工业控制、家用电器和医疗设备。想了解更多树莓派和单片机的相关内容,可以阅读本专题下面的文章。

7337

2024.06.03

dsp和单片机的区别
dsp和单片机的区别

dsp专注于数字信号处理,具有更高的处理能力、专门架构、指令集和存储器结构,但功耗也更高。单片机更适合一般任务,具有较低的处理能力、更通用的架构和指令集,以及较小的存储器结构和功耗。想了解更多dsp和单片机的相关内容,可以阅读本专题下面的文章。

6018

2024.06.04

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

120

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

100

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

80

2026.09.30

热门下载

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

精品课程

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn