VS Code中PlatformIO IDE的安装并开发Arduino

news2024/11/28 8:45:49

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code的安装

PlatformIO IDE的安装

PlatformIO IDE是是什么

  • PlatformIO IDE 是一个基于开源的跨平台集成开发环境(IDE),专门用于嵌入式系统和物联网(IoT)开发。它提供了一个全面的工具链,包括代码编辑器、项目管理、调试器、库管理器等功能,能够支持多种硬件平台和开发板,如Arduino、ESP8266、ESP32等。PlatformIO IDE的主要目标是简化嵌入式系统开发流程,使开发者能够更轻松地构建、调试和部署嵌入式应用程序。

安装过程

  • 准备好梯子(略)

在这里插入图片描述

  • 打开VS Code电机左侧拓展按钮,并在搜索框中搜索PlatformIO IDE,选择第一个蚂蚁头,点击安装。

在这里插入图片描述

  • 等待下载完成即可

在这里插入图片描述

  • 下载完成后,重启VS Code,点击左侧活动栏蚂蚁头标识即可进入PlatformIO,第一次打开PIO还会自行设置一些必要的东西,耐心等待即可。

在这里插入图片描述

简单入门使用

创建工程

  • 点击New Project

在这里插入图片描述

  • 写入工程名称,选择板子型号和框架,我这里以Arduino Nano ATmega328举例,并选择项目路径(我这里选了默认项目路径),完成后点击Finish

在这里插入图片描述

在这里插入图片描述

  • 等待项目建立完成即可

在这里插入图片描述

  • 项目目录结构如下

在这里插入图片描述

遇到的问题及解决方案

卡在创建工程界面无法进入

  • 如下图

在这里插入图片描述

  • 原因:
    • PlatformIO 并不使用系统安装的 Python,而是会自行下载一个 Python 解释器。这意味着我们需要单独配置这个自带的 Python 解释器的 pip 源,由于国外的 pip 源下载速度可能较慢,所以需要将其修改为国内的源,以确保依赖包能够快速下载。
    • 并且默认情况下,PlatformIO 不会使用系统的代理设置,所以需要在配置文件中单独配置代理信息,以确保能够通过梯子加速下载。
  • 解决方案:
    • 修改Python的pip源为国内的源
    • 配置代理服务器
  • 进入.platformio/penv文件夹,修改pip.conf文件,内容如下

在这里插入图片描述

  • 配置pip镜像源为阿里云
  • **proxy =http://127.0.0.1:7890 ** 替换成你梯子的地址和端口即可
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
proxy = http://127.0.0.1:7890

[install]
trusted-host = mirrors.aliyun.com

  • 并返回上一级,删除.cache文件中的所有内容

在这里插入图片描述

串口监视器显示乱码

  • 如下图

在这里插入图片描述

  • 原因:PlatformIO的默认串口波特率是:9600 8-N-1,而我们的程序设置的波特率可能不是这个值。
  • 解决方法:将串口波特率设置成与我们的程序一致即可。
  • 如下图,在platformio.ini文件中,根据自己程序设置的波特率,添加一行语句,如我程序中设置的波特率为115200,则添加monitor_speed = 115200,然后保存。

在这里插入图片描述

  • 之后再打开串口监视器,就输出正常信息了。

在这里插入图片描述

无法在中断使用platformio相关命令

在这里插入图片描述

  • 原因:platformio直接通过VS Code拓展下载并不会直接将 PlatformIO 的可执行文件路径正确添加到系统的环境变量 PATH 中
    • 当通过 Visual Studio Code (VS Code) 扩展商店安装扩展时,它们通常是安装在 VS Code 的本地扩展目录中,而不是系统级别的环境中。这意味着这些扩展只能在 VS Code 内部使用,并不会修改系统的环境变量或者 PATH。
    • 例如,如果你安装了 PlatformIO IDE 扩展,它会集成到 VS Code 里,并且你可以在 VS Code 的内置终端中使用 PlatformIO 命令。但是,这并不意味着 PlatformIO 的命令行工具会自动添加到系统的 PATH 环境变量中,因此你可能无法在 VS Code 之外的命令提示符或 PowerShell 中直接调用 PlatformIO 命令。
  • 解决方法:使用pip指令下载最新版本的PlatformIO即可
    • 在安装过程中,pip 通常会确保任何必要的环境变量更新被执行,包括将 platformio 的可执行文件路径添加到 PATH 环境变量中。
  • 在终端中输入以下指令
pip install -U platformio
  • 等待下载完成后,再在终端中输入platformio就正常了。
    在这里插入图片描述

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

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

相关文章

2009-2022年上市公司华证ESG评级评分数据(含细分项)

2009-2022年上市公司华证ESG评级评分数据(含细分项) 1、时间:2009-2022年 2、来源:华证ESG 3、指标:证券代码、证券简称、综合评级、年度、综合得分、E评级、E得分、S评级、S得分、G评级、G得分 4、范围&#xff1…

如何解决3D模型变黑或贴图不显示的问题---模大狮模型网

在进行3D建模和视觉渲染时,经常会遇到模型表面变黑或贴图不显示的问题,这可能严重影响最终视觉效果的质量。这些问题通常与材质设置、光照配置或文件路径错误有关。本文将探讨几种常见原因及其解决方法,帮助3D艺术家和开发者更有效地处理这些…

Portforge:一款功能强大的轻量级端口混淆工具

关于Portforge Portforge是一款功能强大的轻量级端口混淆工具,该工具使用Crystal语言开发,可以帮助广大研究人员防止网络映射,这样一来,他人就无法查看到你设备正在运行(或没有运行)的服务和程序了。简而言…

ubuntu20安装colmap

系统环境 ubuntu20 ,cuda11.8 ,也安装了anaconda。因为根据colmap的官方文档说的,如果根据apt-get安装的话,默认是非cuda版本的,而我觉得既然都安装了cuda11.8了,自然也要安装cuda版本的colmap。 安装步骤…

MySQL之聚合函数与应用

1. 前言 上文我们讲到了单行函数.实际上SQL还有一类叫做聚合函数, 它是对一组数组进行汇总的函数, 输入的是一组数据的集合, 输出的是单个值. 2. 聚合函数 用于处理一组数据, 并对一组数据返回一个值. 有如下几种聚合函数 : AVG(), SUM(), MAX(), MIN(), COUNT(). 3. AVG(…

[Scrcpy]数据线连接安卓手机投屏windows电脑[win控制安卓手机]比Samsung Dex好用

配置好,只需要两步即可完成安卓手机投屏windows 第一步:usb线连接windows电脑 第二步:cmd输入投屏命令srccpy 搞定 前言/背景 一些视频资料只能下载到手机,很不喜欢手机那么小屏幕播放,播放很不方便 在家的话可以投…

在做题中学习(50):搜索插入位置

35. 搜索插入位置 - 力扣(LeetCode) 解法:二分查找 思路:题目是有序的,时间复杂度O(logN),二分没跑了,题目说如果找不到target,返回它应该被插入位置的下标,所以可以分析一下示例2…

QT截图程序,可多屏幕截图

截图程序&#xff0c;支持多屏幕时跨屏幕截图。截图使用setMask达到镂空效果&#xff0c;截图后会有预览和保存功能。截图时按下Esc可退出。 mainwindow.ui mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> …

暴雨发布大模型专用分布式全闪存储

近日&#xff0c;暴雨信息发布为大模型专门优化的分布式全闪存储AVERSE系列。该系列依托暴雨信息自研分布式文件系统&#xff0c;搭载新一代数据加速引擎Xdata&#xff0c;通过盘控协同、GPU直访存储、全局一致性缓存等技术为AI大模型数据归集、训练、数据归档与管理等阶段提供…

本机MySQL数据库服务启动了,但是cmd登录不上10061

注意&#xff1a;不建议安装MySQL8&#xff0c;建议直接使用phpstudy中自带的MySQL5.7 错误信息 ERROR 2003 (HY000): Cant connect to MySQL server on x.x.x.x (10061) 原因 可能是端口号错误。比如修改了my.ini中&#xff0c;或者phpstudy中数据库端口的配置&#xff0c;…

代码随想录算法训练营第十九天:二叉树go

代码随想录算法训练营第十九天&#xff1a;二叉树go 226.翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树。 ​​ 这道题目背后有一个让程序员心酸的故事&#xff0c;听说 Homebrew的作者Max Howell&#xff0c;就是因为没在白板上写出翻转二叉树&#xff0c;最…

HarmonyOS实战开发-如何实现查询当前城市实时天气功能

先来看一下效果 本项目界面搭建基于ArkUI中TS扩展的声明式开发范式&#xff0c; 数据接口是和风&#xff08;天气预报&#xff09;&#xff0c; 使用ArkUI自带的网络请求调用接口。 我想要实现的一个功能是&#xff0c;查询当前城市的实时天气&#xff0c; 目前已实现的功能…

外贸企业邮箱哪家好?推荐三个国内好用的外贸企业邮箱

国内有许多企业邮箱的提供商&#xff0c;外贸公司在选择外贸企业邮箱时该选哪家&#xff1f;三个在国内排行前三的外贸企业邮箱&#xff0c;Zoho Mail企业邮箱、腾讯企业邮箱和阿里企业。这三款企业邮箱功能各有优势&#xff0c;今天我们具体来了解下。 一、Zoho Mail公司邮箱…

LibTorch入坑记--续2

一、安装faiss 我的faiss&#xff0c;用的是曾经安装过的 pip install faiss-gpu1.7 当时搞得环境名称是pni 二、配置环境 三、例子代码 #include <faiss/IndexFlat.h> #include <faiss/Index.h> #include <faiss/VectorTransform.h> #include <faiss/…

笔试强训Day19 数学知识 动态规划 模拟

[编程题]小易的升级之路 题目链接&#xff1a;小易的升级之路__牛客网 思路&#xff1a; 按题目写即可 注意辗转相除法。 AC code&#xff1a; #include<iostream> using namespace std; int gcd(int a, int b) {return b ? gcd(b, a % b) : a; } int main() {int n…

【busybox记录】【shell指令】sort

目录 内容来源&#xff1a; 【GUN】【sort】指令介绍 【busybox】【sort】指令介绍 【linux】【sort】指令介绍 使用示例&#xff1a; 排序 - 默认排序 排序 - 检查所给文件是否已经排序 排序 - 输出已经排序过的文件&#xff0c;不会重新排序 排序 - 忽略每行前面的空…

C++ 数据内存分布揭秘:从栈到堆的探索之旅

目录 1. 栈(Stack) 2. 堆(Heap) malloc和new的区别 堆与栈在C中的异同点详解 3. 数据段(Data Segment) 4. 代码段(Code Segment) 5. 动态内存分配的陷阱 当我们谈论C编程时&#xff0c;对内存布局的理解至关重要。本文将深入探讨C中各种变量和数据结构在内存中的分布情况…

指代消解类方法梳理

概念&#xff1a; MLM&#xff1a;带遮罩的语言模型 NSP&#xff1a;单句预测&#xff0c;任务包括两个输入序列 SBO&#xff1a;分词边界目标 1.spanBERT&#xff0c;2019 spanBERT是对bert从分词到文本跨度的优化&#xff0c;主要有两方面的优化&#xff1a;&#xff08…

Android OTA 交流群 2024 年 4 月问题汇总

Android OTA 交流群 2024 年 4 月问题汇总 相关文章 Android OTA 问题交流微信群和知识星球Android OTA 交流群 2024 年 4 月问题汇总Android OTA 交流群 2024 年 3 月问题汇总Android OTA 交流群 2024 年 2 月问题汇总Android OTA 交流群 2024 年 1 月问题汇总 问题汇总 2…

[蓝桥杯]真题讲解:班级活动(贪心)

[蓝桥杯]真题讲解&#xff1a;班级活动&#xff08;贪心&#xff09; 一、视频讲解二、正解代码1、C2、python33、Java 一、视频讲解 [蓝桥杯]真题讲解&#xff1a;班级活动&#xff08;贪心&#xff09; 二、正解代码 1、C #include<bits/stdc.h> using namespace st…