clion + platformio搭建_clion platformio-程序员宅基地

技术标签: 编辑器  platformIO  mcu  

clion + platformio搭建

参考官方指导

1.安装Clion,官网下载。

2.Clion安装platformio插件
  • 关闭工程的界面如下,plugins一下就能找到,在marketplace中搜索PlatformIo
    在这里插入图片描述

  • 已打开项目的情况下,在settings中可以找到plugins。

  • 安装完,重启clion.


3.安装platformio
  • 已安装插件当想要新建platformIo工程提示platformIo utility 没有找到。
    在这里插入图片描述

​ 未安装platformio环境的同学可以点击Install guide进行安装。目前的内容就是将这个get-platformio.py 文件下载下来后,使用 Python执行它,国内多半pc解析不了某个域名,下载不下来文件,所以很麻烦。这里不能多说,可以使用阿里公共dns或者腾讯dns。

得到这个文件后,执行以下命令然后等待

python3 get-platformio.py

4.新建项目时,可以再重启Clion。

​ 未配置环境变量,可以点击上图的Settings,选择pio。
在这里插入图片描述

待其加载完开发板列表,可以输入项目名称,选择自己的开发板类型。(本人使用的是wemos d1,是一种长得很像arduino的esp8266)

在这里插入图片描述

不出意外(多半会出意外),能新建一个项目,会初始化好对应开发板的sdk。我选择的是arduino框架的方式,因而会生成一个main.cpp里面会和arduino 一样生成两个函数setup 和loop。

按以上的图选择生成的初始化命令也会在工程刚打开的时候执行

我的生成的命令如下(看上一句这里只是记录,暂时并不需要你执行它):

/home/lustre/.platformio/penv/bin/pio init --ide clion --board d1 -O framework=arduino

如果出现报错在run界面,报错意思是下载出错一类的,可以重新执行,可以使用命令或在点击run侧边栏按钮

如果没有正确生成文件,比如这种报错

Error: Please setup environments in `platformio.ini` file

可以丢弃这个空项目再尝试新建一个,因为新建项目初始化的命令里面包含你选的板子类型,都没有写入platformio.ini文件里面,就挂了,等第二次打开初始化的时候重这里解析就报这个报错。


5.第一次很慢的原因是对应的平台SDK没有安装

如同arduino里开发板管理需要下载esp8266,esp32一样。它在选完开发板后发现没有对应SDK会自动下载,国内特别慢。

如果platformio.ini文件里面不为空同时不想被第一次初始化很慢,又被无法掌控进度拿捏心态。
可以停止它自动的初始化在终端当前文件夹执行以下命令。这样可以看到它下载的细节。

pio init --ide clion

它下载某些东西的内容也是来自github,你会看到下载进度特别慢,然后一会儿又失败了,它又开始尝试。有时候使用手机热点供PC使用偶尔有效,可以提高这个速度,但不总是有效。或许明天试一下就有效了。


6. [platformio并不是依赖于cmake]

(https://docs.platformio.org/en/latest/integration/ide/clion.html#project-configuration-and-cmake) 但使用windows用户需要注意设置Toolchains
如果是最新版的platformio 没有生成相关cmake配置文件 ,请使用232以后的clion和最新的PlatformIo for Clion插件 。则无需关注cmake。
232以后的clion使用了非cmake方式加载platformio项目,用于解决了某些开发板环境也依赖cmake导致冲突的情况。

设置Toolchains。linux和macos同学安装的相关环境,使用本系统的就好,反正最终其实还是和这个关系不大,根据自己情况安装gcc g++。
但windows同学使用clion日常会用 WSL Cygwin MinGW 来提供编译 构建工具,这样会导致cmake文件里面的路径和编译构建工具路径无法正常获取到,虽然还可能正常构建甚至上传,但clion会全程报错,标红。

本人曾经尝试完全使用WSL构建,甚至依赖包的索引目录,也都换成WSL上的路径的确不会报错。但WSL正常情况下无法连接串口,如果再利用windows本地的pio进行编译烧录也行,但那也太麻烦了,二来Clion通过WSL索引的文件,没有直接通过当前系统路径访问快。

这里windows同学可以设置 Toolchains为System这个选项,这样可以兼容windows的路径,添加一个System类型的Toolschain点击上三角将它移到第一位。本人这里使用的win11的PC。

clion 设置兼容pio的toolchains
如果windows下没有检测到c和c++编译器(如下图)可能导致cmake初始化不正常,但这俩东西对于platformio并没有用处,但会影响clion.

在这里插入图片描述
在windows环境的情况下这里我们可以新建两个可执行的文件如bat脚本充当gcc和g++来解决该问题。
选择一个非项目的文件夹,新建两个文件如 gcc.bat g++.bat 然后选中他们。
在这里插入图片描述

然后右键CMakeList.txt重新加载
在这里插入图片描述
待其Cmake重新加载完,如果文件路径正确,会把相关平台的库的包索引完成,这样就不会报错,才能正确跳转源码。

7. 烧录

以下是官方教程的方式不推荐,建议使用本人提供插件(Platformio Plus,请参考本文第九章),无需配置,直接点击upload 节点触发烧录

  • 执行 PlatformIO Upload会触发编译和上传(生成的工程里面,运行配置里面一般含有PlatformIO Upload)

    在这里插入图片描述

    若没有则在运行配置中添加即可:
    在这里插入图片描述

    除非你想要烧录的板子驱动正常,插在当前PC上,当前PC没有其他板子,速率为9600,则不用额外配置,可以直接运行PlatformIO Upload,否则参照下一步

  • 配置烧写的端口和波特率

    在项目文件夹下 platformio.ini中添加两行指定这些配置

    upload_port = COM8
    upload_speed = 115200
    

    更多上载相关参考官方说明

  • 配置正确后执行
    在这里插入图片描述

​ 如上图就上载成功了。

  • 串口监视

  • 建议使用本人提供的插件(Platformio Plus,请参考本文第九章),无需配置,直接点击monitor节点调用pio的串口监视功能*

    1.使用插件 Serial Port Monitor
    在这里插入图片描述

  1. 或者使用platformio自带的
    查看帮助:

    pio device monitor -h
    

    -p 指定端口 -b 指定波特率

    如:

    pio device monitor -b 115200 -p COM8
    

    或者可以写在platformio.ini中

    monitor_port = COM8
    monitor_speed = 115200
    

在这里插入图片描述

8.pio工具菜单(这一章可以跳过直接看第九章)

打开顶部Tools菜单项,可以看到比较潦草的加了一些pio命令封装出来的界面的按钮,当你点击之后就会打开控制台执行一个pio命令。
在这里插入图片描述
或者右键platformio.ini
pio ini右键
当我们修改platformio.ini或者利用命令行或者pio home添加了库,Clion可能会出现报错找不到库,
这个时候需要修改Cmake文件,我们这里新初始化即可。
使用菜单了Re-Init或者在终端执行pio init --ide clion

9.Platformio Plus插件

由本人提供的插件。帮助Clion使用Platformio命令如同 maven或者gradle一样通过命令树执行,省去手动使用终端的麻烦。同时可以嵌入platformio home到clion里面。已上架clion插件市场。
platformio plus
开源地址:
github
gitcode

  • 任务树
    Platformio plus任务树
    现在含有默认的任务,不含从platformio.ini中动态加载的开发板特有的任务。
    一些特定 任务是需要相关 参数变量 ,则需要声明在platformio.ini中。现在只有默认的任务则只能使用platformio.ini的默认environment执行。

  • platformio home
    Platformio plus 首页

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26700087/article/details/121444631

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文