Clion安装Platformio支持

news2024/9/26 9:25:22

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、系统配置
  • 二、什么是platformio
  • 三、安装配置
    • 1.安装Clion
    • 2.安装platformio插件
    • 3.安装platformio(CLI)
    • 4. 配置Clion环境
    • 5. 创建示例Demo
    • 6.其他
  • 总结


前言

最近在研究一些微控制器芯片,然后发现每一个芯片都有一个自己的IDE,使用起来还是蛮废脑子的。比如树莓派Pico使用的是thonny开发micropython;Arduino使用的是Arduino IDE;Arm使用的是keil。我决定使用Clion+platformio的组合解决一些问题。


一、系统配置

操作系统:Windows 11 22H2
Clion:2022.2.4

二、什么是platformio

PlatformIO is written in pure Python and doesn’t depend on any additional libraries/tools from an operation system. It allows you to use PlatformIO beginning from PC and ending with credit-card sized computers (like Raspberry Pi, BeagleBone, CubieBoard)

三、安装配置

1.安装Clion

注意:我使用的版本是2022.2.4,你最好不要比我的版本低,或者干脆跟我一样,如果出了问题可能不好解决。

安装方法就比较简单了,直接去jetbrains官网下载就行了,如果已经安装了可以跳过这一步。
clion-2022.2.4下载页面
在这里插入图片描述
安装过程就不赘述了,很简单。

2.安装platformio插件

  1. 打开clion->File->Settings->Plugins
    如果你是汉语的应该是:
    打开clion->文件->设置->插件
    我一般只用英文的,找不到可以把汉语临时改成英文。
  2. 在搜索框里搜索platform,找到跟我的图示一样的插件并安装,会要求你重启clion,这一步是必须的。
    在这里插入图片描述

3.安装platformio(CLI)

You do not need to install PlatformIO Core if you are going to use PlatformIO IDE. PlatformIO Core is built into PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal. See instructions on how to open PlatformIO Core CLI in PlatformIO IDE for VSCode.

If you need PlatformIO Core outside PlatformIO IDE, please Install Shell Commands.

意思就是如果你使用Platform IDE的话就不需要单独安装CLI了,这个CLI就是给其他的IDE使用的,比如VSCODE和Clion。当然VSCODE和Clion的安装方式有差别,在这里我们只讨论Clion的安装和使用,VSCODE或许以后讨论。

接下来讲述正式安装流程:

  1. 确保你的操作系统里面有一个python3.6+版本环境,注意虚拟环境不行,一直报错。
  2. 去官方网站下载安装脚本名字叫: get-platformio.py
  3. 执行python3 get-platformio.py并等待完成,如果出现超时就重试,如果出现其它错误就删除文件夹重试

4. 配置Clion环境

进入clion并选择创建新项目
在这里插入图片描述
选择左边栏的PlatformIO选项会出现右边的画面,有很多支持的boards,如果你的board在里面就可以开发。如果不在里面就等PlatformIO更新支持。
第一次可能要配置下PlatformIO的环境变量,点下setting,选择C:\Users<你的用户>.platformio\penv\Scripts\platformio.exe之后保存,切记重启IDE之后可以看到右边的boards列表。
在这里插入图片描述

5. 创建示例Demo

我手上正好有一个Arduino Nano Atmega168,选择这个board点create就行了
在这里插入图片描述
这个地方要等待一会,platformio会自动帮你下载Arduino的支持库,然后生成一个完整的项目,一定要等待加载完成才行,如果报错就重新加载,直到成功为止。成功的项目应该是下面的样子
在这里插入图片描述
这个画面就跟Arduino IDE里面一样的,直接在setup()和loop()里面开发就行了。

6.其他

这里讲一下clean、build一些常用的东西,和Clion搭配原生C++不太一样,你需要到Tools->PlatformIO里面找到这些选项卡。
在这里插入图片描述
和Arduino IDE的编译差不多,成功了也会生成target和占用空间的提示信息
在这里插入图片描述


总结

1、总体来讲不是太难

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

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

相关文章

低功耗设计:rush current

在power gating的设计中有一个rush current的概念&#xff0c;它的产生原因是switch cell上电过程相当于电容充电过程&#xff0c;会产生一个短期的大电流&#xff0c;称之为rush current。 1.rush current的危害 1&#xff09;rush current产生的压降可能会造成大的短路电流…

Python学习笔记——NumPy

一、向量数据 ①概念 向量数据是指存储一系列同类数据的有序数据结构。 ②分类 python中的列表和元组可以用来存储向量数据。 分为 一维列表&#xff0c;二维列表&#xff0c;三(多)维列表。 ③向量数据结构的理解 二、产生原因 大量的向量数据计算时&#xff0c;使用pyt…

蓝桥杯的比赛流程和必考点

蓝桥杯的比赛流程和必考点 距省赛仅1个多月&#xff01;蓝桥杯的比赛流程和必考点&#xff0c;你还不清楚&#xff1f; “巷子里的猫很自由&#xff0c;却没有归宿&#xff1b;围墙里的狗有归宿&#xff0c;终身都得低头。人生这道选择题&#xff0c;怎么选都会有遗憾。” 但不…

弹性负载均衡器类型

Hello大家好&#xff0c;在本课时&#xff0c;我们将讨论AWS不同类型的弹性负载均衡器,也就是ELB。 对于认证考试您需要了解针对不同的场景使用哪种类型的负载均衡器。 负载均衡器类型 应用程序负载均衡器 第一个是应用程序负载均衡器&#xff0c;也就是ALB&#xff0c;ALB在…

ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool

本文介绍在ArcGIS下属ArcMap软件中&#xff0c;通过“Cut Polygons Tool”工具&#xff0c;对一个面要素矢量图层加以手动分割&#xff0c;从而将其划分为指定形状的多个部分的方法。 对于一个面要素矢量文件&#xff0c;有时我们需要对其加以划分&#xff0c;通过手动勾勒新的…

Python杂题-- 内附蓝桥题:裁纸刀

杂题 ~~不定时更新&#x1f383;&#xff0c;上次更新&#xff1a;2023/02/23 蓝桥例题1-裁纸刀&#x1f52a; 问题描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝有一个裁纸刀&#xff0c;每次可以将一张纸沿…

高阶数据结构之LRU Cache

文章目录什么是LRU Cache&#xff1f;LRU Cache的实现JDK中自带的数据结构模拟实现LRU Cache&#xff08;双向链表哈希表&#xff09;什么是LRU Cache&#xff1f; LRU的全称是“Least Recently Used”的缩写&#xff0c;表示最近最少的使用&#xff0c;是一种Cache替换算法&am…

机器学习和深度学习综述

机器学习和深度学习综述 1. 人工智能、机器学习、深度学习的关系 近些年人工智能、机器学习和深度学习的概念十分火热&#xff0c;但很多从业者却很难说清它们之间的关系&#xff0c;外行人更是雾里看花。在研究深度学习之前&#xff0c;先从三个概念的正本清源开始。概括来说…

2022-2-23作业

一、通过操作Cortex-A7核&#xff0c;串口输入相应的命令&#xff0c;控制LED灯进行工作 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输入led2off,开饭led2灯熄灭 5.例如在串口输…

关于性能测试,你不可不知的内容

目录 1、性能测试概述 2、常见的性能测试指标 2.1、并发 2.2、响应时间 2.3、事务 2.3.1、事务响应时间 2.3.2、每秒事务通过数&#xff08;TPS&#xff09; 2.4、点击率 2.5、吞吐量 2.6、资源利用率 3、性能测试分类 3.1、一般性能测试 3.2、负载测试 3.3、压力…

虹科Dimetix激光测距仪在锯切系统中的应用

HK-Dimetix激光测距仪——锯切系统应用 许多生产设施&#xff0c;例如金属服务中心&#xff0c;使用切割锯将每个客户的订单切割成一定长度。定长切割过程通常涉及卷尺和慢跑锯的传送带。但更简单的替代方法是使用虹科Dimetix非接触式激光距离传感器。 为了切断大长度的棒材&…

Day898.Join语句执行流程 -MySQL实战

Join语句执行流程 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于Join语句执行流程的内容。 在实际生产中&#xff0c;关于 join 语句使用的问题&#xff0c;一般会集中在以下两类&#xff1a; 不让使用 join&#xff0c;使用 join 有什么问题呢&#xff1f;如果有…

1+1>2 ?多数据源关联分析系列…

数据表连接的 join 操作&#xff0c;相信大家都不陌生吧&#xff1f;在数据分析时&#xff0c;经常需要对多个不同的数据源进行关联操作&#xff0c;因此各类数据库的 SQL 语言都包含了丰富的 join 语句&#xff0c;以支持批计算关联。而在金融的业务场景中&#xff0c;流数据实…

系统崩溃如何恢复数据?4步,教您快速抢救丢失的数据

电脑保存着很多个人文件和数据&#xff0c;如果碰到电脑系统崩溃&#xff0c;可能会导致文件无法访问&#xff0c;甚至我们的数据会发生丢失的情况。系统崩溃如何恢复数据&#xff1f;我们先来了解下Windows操作系统发生崩溃的常见原因&#xff1a;一次性打开太多软件&#xff…

AG9300方案替代|替代AG9300设计Type-C转VGA方案|CS5260设计原理图

AG9300方案替代|替代AG9300设计Type-C转VGA方案|CS5260设计原理图 安格 AG9300是一款实现USB TYPE-C到VGA数据的单片机解决方案转换器。ALGOLTEK AG9300支持USB Type-C显示端口交替模式&#xff0c;AG9300可以将视频和音频流从USB Type-C接口传输到VGA端口。在AG9300&#xff0…

LeetCode 707. 设计链表

LeetCode 707. 设计链表 难度&#xff1a;middle\color{orange}{middle}middle 题目描述 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性&#xff1a;valvalval 和 nextnextnext。valvalval 是当前节点的值&#xff0c;nextnextnext 是指向下…

FastCGI sent in stderr: "PHP message: PHP Fatal error

服务器php7.2卸载安装7.4之后,打开网站一直无法访问,查看nginx错误日志发现一直报这个错误:2023/02/23 11:12:55 [error] 4735#0: *21 FastCGI sent in stderr: &#xff02;PHP message: PHP Fatal error: Uncaught ReflectionException: Class translator does not exist in …

OpenGL超级宝典学习笔记:原子计数器

前言 本篇在讲什么 本篇为蓝宝书学习笔记 原子计数器 本篇适合什么 适合初学Open的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重实践&#xff0c;轻理论&#…

比特数据结构与算法(第四章_中)堆的分步构建

不清楚堆的概念和性质公式可以先到上一篇看看链接&#xff1a;比特数据结构与算法&#xff08;第四章_上&#xff09;树和二叉树和堆的概念及结构_GR C的博客-CSDN博客堆的逻辑结构是完全二叉树&#xff0c;物理&#xff08;存储&#xff09;结构是数组1.完整Heap.h和以前学的数…

计算机网络概述 第一部分

前言 为了准备期末考试&#xff0c;同时也是为了之后复习方便&#xff0c;特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解&#xff0c;将老师的PPT整理成博文的形式以便大家复习查阅&#xff0c;同时对于一些不是很清楚的地方…