【指南】CLion下如何使用PlatformIO

前言

  之前使用Clion搭建了STM32的开发环境,CubeMX提供的快速配置加上Clion强大的代码补全与智能提示,编程体验可以说非常棒了。但是,这套组合只能用于STM32系列芯片的开发,如果想在Clion下开发其他芯片要怎么办?

  PlatformIO是个不错的选择。

  有些童鞋可能试过在VSCode下使用PlatformIO开发,编写体验很不错,支持的芯片种类挺多而且可以使用多种开发框架(想偷懒的话甚至可以用Arduino),但是早期的调试体验不太好。

  当然,最重要的是,对于开发者而言,把不同的开发工作放在同一平台下进行,可以大大改善体验。

  正好,Clion的2020.1版本新增了“PlatformIO Plugin”,so,折腾起来!

步骤

一、安装PlatformIO

  • linux和mac下面安装比较简单,网上找下相应的命令即可(笔者没有测试条件),windows下需要自己建个文件(建议命名为get-platformio.py,存放位置无要求,之后可删除),然后从这里复制代码粘贴到这个文件里并保存,然后在文件所在目录打开命令行,运行如下指令:

    python get-platformio.py

    (补充:笔者python版本为3.7,python2没有测试过)

  • 安装完成以后需要添加环境变量,把“C:\Users\<这里是你的用户名>\.platformio\penv\Scripts”添加到Path,

    完成以后打开命令行用以下命令测试一下:

    platformio --version

    如果版本信息正常显示,则环境变量已被正确添加

二、安装并配置Clion

  • 安装请看往期教程:(其实我还没写)
  • 安装完毕后在起始界面点击右下角的“Configure”,

【指南】CLion下如何使用PlatformIO_第1张图片

  • 然后依次选择“Plugin --> Marketplace”,搜索我们需要的插件并安装。

【指南】CLion下如何使用PlatformIO_第2张图片

  • 安装时会提示有依赖项需要安装,点击同意。安装完成后重启CLion
  • 然后新建项目的时候就有PlatformIO的选项了。

【指南】CLion下如何使用PlatformIO_第3张图片

三、新建工程与HelloWorld

  • platformIO新建工程时是按照开发板和“开发框架”来选择的,配置文件后续可以修改所以选一个跟自己使用芯片一致或较为接近的开发板即可,笔者这里用了TI的LaunchPad(主控为TM4C123GH6PM),然后框架上为了方便演示(偷懒)用了Arduino

【指南】CLion下如何使用PlatformIO_第4张图片

  • 第一次新建某开发板的工程的时候初始化会消耗比较长的时间,因为需要下载一些库,不过时间一般不会超过5分钟。

【指南】CLion下如何使用PlatformIO_第5张图片

  • 初始化完成后,打开src目录下的main.c,写个标准的“Hello World!”

【指南】CLion下如何使用PlatformIO_第6张图片

  • 但是,这个语法是C++的,所以请把main.c重命名为main.cpp,在左侧文件列表里main.c上右键然后依次选择“Refactor --> Rename”即可,或使用快捷键“Shift + F6”.
  • 然后,在左侧文件列表里随便找个地方右键,选择“Reload Cmake Project”重新载入一下工程,你会发现“Serial”的红色消失了,且鼠标移动到其上并悬停时可以显示一些帮助信息。
  • 然后,把右上角的运行配置改为“Upload”,并运行工程。

【指南】CLion下如何使用PlatformIO_第7张图片

  • 然后打开串口助手,正常打印输出。完美!

【指南】CLion下如何使用PlatformIO_第8张图片

尾声

  Arduino框架到底还是只适合做小东西玩,平时开发STM32和TM4、K60一类的芯片还是需要使用各自的框架,比如TM4可以用libopenCM3(适用于Cortex-M内核)、STM32可以用libopenCM3、mbed等等(当然还是比较推荐用CubeMX生成SW4STM32的工程然后用CLion开发)。

  另外,其实在CLion的Terminal里面输入platformio device monitor可以直接打开串口监视器,默认波特率为9600,需要更改的话在工程的“platformio.ini”文件里添加monitor_speed = xxx即可。然后,需要退出请按“Ctrl + C”。

你可能感兴趣的:(clion,单片机,c)