Clion配置51单片机开发环境

1. Clion安装PlatformIO

在Clion插件中安装Platform for Clion

2. 安装Python环境

如果你的电脑环境中已经安装了python,忽略这一步

windows为例

进入官网下载地址

如果你不在意版本的化可以直接点击图中箭头的地方下载。如果你想安装其他的版本可以进入这个地址选择版本下载。

点击下载好的安装包,记得勾选图片箭头的地方

2.1. 校验安装是否成功

打开命令行

(1)win+r输入cmd

(2)右键win系统开始图标,选择终端或者终端管理员

(3)点击搜索,输入cmd,直接点击运行或者右键以管理员运行。

输入命令

复制代码
python

显示下面的结果代表安装成功了

2.2. 不成功解决方法

首先,找到python的安装位置。

比如我的位置是在:C:\Users\MuChen\AppData\Local\Programs\Python

然后进入环境变量中,右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量

然后在path中查看自己的python路径是否在,如果不在就把以下两个路径加入进去

makefile 复制代码
C:\Users\MuChen\AppData\Local\Programs\Python\Python39\
C:\Users\MuChen\AppData\Local\Programs\Python\Python39\Scripts\

注意:C:\Users\MuChen\AppData\Local\Programs\Python\Python39应该换成你自己的python路径。

然后再按照2.1检验是否成功。

3. 安装PlatformIO核心包

安装核心包目前我了解到的有两种方式,一种是进入PlatformIO下载安装脚本,然后使用python运行这个脚本。另一种是自己使用pip安装。因为我自己使用第一种方式安装一直不成功,所以使用了第二种方式,这里主要记录第二种方式安装。如果想要了解第一种安装方式可以看下最下面的链接地址。

再使用pip安装之前首先需要设置pip的安装源,这里我自己安装的时候一直报文件占用错误。类似下面的这个错误。

vbnet 复制代码
ERROR: Could not install packages due to an OSError: [WinError 32] 另---个
程序正在使用此文件

我按照网上说的解决占用、权限、修改临时文件存放位置都不行。最后,我看到控制台有时候会重新请求下载。于是我设置了清华源。我为了方便设置的是全局。

(1)设置清华源:在CMD中运行以下脚本。

arduino 复制代码
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

(2)安装virtualenv

复制代码
pip install virtualenv

(3)使用virtualenv创建虚拟环境

复制代码
virtualenv C:\Users\MuChen.platformio\penv

注意:MuChen是我的用户名,你需要更换成你的用户名。下面所有的都是一样的。

(4)切换到安装的虚拟环境

复制代码
virtualenv C:\Users\MuChen.platformio\penv\Scripts\active

(5)安装platformio

复制代码
pip install platformio

(6)将以下路径加入到环境变量中

makefile 复制代码
C:\Users\MuChen.platformio\penv\Scripts

4. Clion创建项目

需要重新打开Clion,选择PlatformIO。

点击创建进入项目中,这里初始化的时候可能右下角一直显示导入xxx platformio项目中,这里我等了很长下好的。好了之后,然后你的项目可能报了以下的错误。

arduino 复制代码
未知的编译器可执行文件: 'C:\Users\MuChen.platformio\packages\toolchain-sdcc\bin\sdcc.exe'

这里需要在项目根目录中创建一个yaml文件,然后文件内容如下:

less 复制代码
compilers:

  - description: SDCC for 8051

    match-compiler-exe: "(.*/)?sdcc(.exe)?"

    match-args: -mmcs51

    match-language: C

    include-dirs:

      - ${compiler-exe-dir}/../include/mcs51

      - ${compiler-exe-dir}/../include

      - ${compiler-exe-dir}/../non-free/include

    defines-text: "
  
    #define __SDCC_USE_NON_FREE 1
    
    #define __SDCC_MCS51 1
    
    #define __STC89C52RC 1
    
    #define __8051__ 1
    
    #define __STDC_VERSION__ 201112L
    
    #define __STDC_ISO_10646__ 201409L
    
    #define __STDC_UTF_16__ 1
    
    #define __STDC_UTF_32__ 1
    
    #define __STDC__ 1
    
    #define __SDCC 4_4_0
    
    #define __SDCC_REVISION 14620
    
    #define __SDCC_VERSION_MAJOR 4
    
    #define __SDCC_VERSION_MINOR 4
    
    #define __SDCC_VERSION_PATCH 0#define __interrupt
    
    #define __code
    
    #define __at
  "

然后在设置中找到构建、执行、部署 -> 工具链 -> 自定义编译器。

第一步,开启使用自定义编译器配置。

第二步,选择项目目录下面的创建yaml文件。

点击确定后,右下角会弹出一个框,点击重新加载即可。

5. 检验是否可用

这里有个warning 283: function declarator with no prototype,这个不影响,如果你不喜欢可以改下代码就可以了

arduino 复制代码
#include "mcs51/8052.h"

int main(void) {
    P0 = 0x00;
    while(1) {}
}

6. 参考的链接

clion PlatformlO 开发51(最最最全的教程)-CSDN博客

如何完美安装platformio

clion解决Unknown compiler executable: "sdcc.exe"_哔哩哔哩_bilibili

相关推荐
blevoice3 分钟前
在杰理AC6966B开发板上TWS开发指南(上):使能与配对配置
单片机·嵌入式硬件·ac6966b蓝牙音响方案·杰理智能音箱开发·杰理ac6965e蓝牙音频开发
lingzhilab11 小时前
零知派——STM32驱动摇杆+PCA9685实现4路360°舵机线性速度控制与自动演示
stm32·单片机·嵌入式硬件
不脱发的程序猿12 小时前
嵌入式软件工程师,怎么把 AI 工具用顺手?
人工智能·单片机·嵌入式硬件·嵌入式
平凡灵感码头12 小时前
芯片合封是个嘛?
单片机·嵌入式硬件
gscsded14 小时前
C2000 GPIO 配置笔记
单片机
Sakuyu4346814 小时前
STM32基础
stm32·单片机·嵌入式硬件
gscsded14 小时前
C2000 CPU Timer 学习笔记
单片机
iCxhust16 小时前
AD0808调试笔记
笔记·单片机·嵌入式硬件·操作系统·微机原理·8088单板机
木子单片机16 小时前
基于51单片机的步进电机调速系统设计
单片机·嵌入式硬件·51单片机·keil
三易串口屏17 小时前
实验10 物理按键实验
单片机·51单片机·串口屏·串口协议·uart 通信·嵌入式 ui