新闻中心
VSCode for Arduino/PlatformIO开发入门
用VSCode搭建Arduino/PlatformIO开发环境更灵活强大,需安装VSCode、PlatformIO IDE和C/C++插件,创建项目后配置platformio.ini,支持多环境编译、上传与串口监控。
用 vscode 搭建 arduino 或 platformio 开发环境,比 arduino ide 更灵活、更强大,尤其适合中大型项目或需要代码管理、调试、多平台编译的场景。核心是装对插件、配好工具链、理解 platformio 的项目结构。
安装 VSCode 和必要插件
从官网下载并安装最新版 VSCode(code.visualstudio.com)。打开后,在扩展市场(Ctrl+Shift+X)搜索并安装:
- PlatformIO IDE:官方插件,提供项目创建、编译、上传、串口监视、库管理等完整功能(自动提示安装 Python 和 PlatformIO Core)
- C/C++(Microsoft 官方):提供语法高亮、智能补全、跳转定义等基础语言支持
- Arduino(optional):仅当你仍需偶尔用原生 Arduino 库或 .ino 文件时可选装;PlatformIO 本身已兼容大部分 Arduino API,不强制依赖此插件
创建第一个 PlatformIO 项目
按 Ctrl+Shift+P 打开命令面板,输入 PlatformIO: New Project,回车后按提示操作:
- 选择项目名称和保存路径(建议放在无中文、无空格的目录下)
- 选择开发板(如 Arduino Uno、ESP32 DevKitC 等,支持自动识别常用型号)
- 选择框架(默认 Arduino 即可;也可选 ESP-IDF、ARM mbed 等)
完成后,VSCode 会自动生成标准 PlatformIO 项目结构:src/(主代码)、lib/(本地库)、platformio.ini(构建配置文件)。入口文件默认为 src/main.cpp,内容与 Arduino 的 setup()/loop() 一致。
理解 platformio.ini 配置文件
这是 PlatformIO 项目的“大脑”,控制编译目标、库依赖、上传参数等。一个典型配置示例如下:
AI Code Reviewer
AI自动审核代码
112
查看详情
[env:uno] platform = atmel*r board = uno framework = arduino [env:esp32dev] platform = espressif32 board = esp32dev framework = arduino monitor_speed = 115200
每个 [env:xxx] 是一个独立环境,可同时定义多个(如 Uno + ESP32),用 PlatformIO: Build Environmen
t 切换。常用字段:
-
platform:指定芯片平台(atmel*r、espressif32、ststm32等) -
board:开发板型号,PlatformIO 内置数百种,可查 platformio.org/boards -
framework:开发框架(arduino最常用;cmsis、zephyr等适合底层开发) -
monitor_speed:串口监视器波特率 -
lib_deps:声明外部库(如lib_deps = Adafruit SSD1306, OneWire),PlatformIO 自动下载安装
编译、上传与串口监控
所有操作均可通过左侧 PlatformIO 工具栏(闪电图标)或命令面板触发:
-
Build(编译):点击
Build按钮或运行 PlatformIO: Build,生成固件(.hex/.bin) -
Upload(上传):确保开发板已连接且驱动正常(Windows 可能需手动装 CH340/CP210x 驱动),点击
Upload按钮;若端口未识别,可在platformio.ini中加upload_port = /dev/ttyUSB0(Linux/macOS)或upload_port = COM3(Windows) -
Monitor(串口监视):点击
Monitor按钮,打开内置串口终端;支持发送数据、切换行尾符、调整波特率(需与代码中Serial.begin(115200)一致)
上传失败常见原因:端口被占(关闭 Arduino IDE 或串口工具)、权限不足(Linux/macOS 加入 dialout 用户组)、接线错误(确认 TX/RX 不反接,部分板需手动进入下载模式)。
以上就是VSCode for Arduino/PlatformIO开发入门的详细内容,更多请关注其它相关文章!
# 乐云丿seo排名
# 可选
# 开发板
# 配置文件
# 是一个
# 这是
# 更灵活
# 147seo如何使用
# 开封短视频seo优化
# 鼠标
# 网站自动建设系统
# 淘宝给店铺的营销推广
# 网站优化接单平台
# 南宁市网站seo
# 网站优化推广哪家公司好
# 品牌网站优化价格多少
# 厦门seo排名方法公司
# linux
# 让你
# 上传
# 串口
# w
# macos
# c++
# ai
# mac
# usb
# 工具
# 端口
# cms
# windows
# vscode
# python
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
在React函数组件中利用原生HTML5进行邮箱地址验证
Python Socket多播通信中指定源IP地址的实践指南
J*aScript中赋值与自增运算符的复杂交互与执行机制
Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】
J*aScript生成器_j*ascript异步迭代
实现分段式页面滚动导航:CSS与J*aScript教程
必由学官网入口 必由学教师登录入口
GemBox Document HTML转PDF垂直文本渲染问题及解决方案
Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法
Go语言中高效处理x-www-form-urlencoded表单数据
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售
2026年CSGO开箱网站推荐 CSGO开箱平台精选
Shopware订单对象中获取产品自定义字段的正确方法
在J*a项目里如何构建对象之间的契约_接口约束的实际落地
c++如何使用TBB库进行任务并行_c++ Intel线程构建模块
cad如何更改注释性对象的比例_cad注释性比例调整方法
PHP URL参数传递与500错误调试指南
J*aScript实现单选按钮与关联输入框的联动禁用教程
192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台
深入理解J*a编译器的兼容性选项:从-source到--release
Python字典中优雅地迭代剩余元素的方法
JUnit5/Mockito:优雅测试内部依赖与异常处理的实践
必由学在线入口 必由学网页版快速登录入口
荣耀Play7T运行卡顿解决_荣耀Play7T性能优化
Spyder启动失败:字体文件权限拒绝错误解决方案
qq游戏免费畅玩入口_qq游戏电脑版快速启动
J*aScript数据结构转换:将对象数组按类别分组
荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程
Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践
mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析
Excel文件在线转换快速入口 Excel在线格式转换网站
海量存储:机器视觉智能化的核心基石
Linux如何排查内存不足OOME问题_LinuxOOM分析教程
Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换
4399网页游戏电脑版全新入口 4399电脑端在线玩指南
CSS图片焦点样式实现教程:理解与应用tabindex属性
J*aScript Promise链中如何正确终止后续.then执行并处理错误
QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录
解决J*aScript中重复选择项的确认对话框显示问题
CSS实现侧边栏导航项全宽圆角悬停背景效果
小米汽车11月交付量突破40000台!雷军:将继续努力
Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程
Golang如何优雅处理error_Golang error处理最佳实践总结
黑猫投诉统一入口官网 消费者权益保护投诉平台
LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置
机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等
QQ邮箱网页版入口 QQ邮箱官方邮箱登录通道
AI泡沫首次被“刺破”:GPU十年都无法存活!
浏览器打开即用 美图秀秀网页版入口


2025-12-15
浏览次数:次
返回列表