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

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文件,内容如下

串口监视器显示乱码

  • 如下图
  • 原因: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就正常了。

相关推荐
XZHOUMIN3 小时前
网易博客旧文-----XCODE离线帮助文件使用的补充说明
ide·macos·xcode
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 小时前
idea 删除本地分支后,弹窗 delete tracked brank
java·ide·intellij-idea
言慢行善3 小时前
idea出现的问题
java·ide·intellij-idea
csucoderlee4 小时前
eclipse mat leak suspects report和 component report的区别
java·ide·eclipse
芋头莎莎5 小时前
STM32 51单片机设计半导体制冷片温控设计
stm32·嵌入式硬件·51单片机
想取一个与众不同的名字好难6 小时前
android studio导入OpenCv并改造成.kts版本
android·ide·android studio
ღ 金龍戲水 ღ7 小时前
蓝桥杯竞赛单片机组备赛【经验帖】
经验分享·单片机·蓝桥杯
搬砖的小码农_Sky7 小时前
单片机和FPGA有什么区别?
单片机·嵌入式硬件·fpga开发
Best_Me077 小时前
如何在Pycharm的终端里进入自己的环境
ide·python·pycharm
HelloMagina7 小时前
Xcode控制台“po“错误:表达式解析失败
ide·macos·xcode