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

相关推荐
周周记笔记6 小时前
GD32F450xx MCU Datasheet 解读:硬件测试工程师的测试方法论
单片机·嵌入式硬件
潘潘的嵌入式日记8 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机
AOI小白新手上路9 小时前
江科协51单片机16-1 AD/DA ADC 三通道综合显示(LCD1602 版)改造说明
单片机·嵌入式硬件·51单片机
HUI-47410 小时前
EG1135|SSOP‑16 同步整流降压控制器,大功率外置 MOS 降压优选
单片机·嵌入式硬件·硬件工程
单片机仿真设计10 小时前
【proteus仿真】基于 STM32 单片机恒温箱控制系统设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
国科安芯11 小时前
星载CAN总线通信网络中抗辐射MCU的通信可靠性设计分析
网络·人工智能·分布式·单片机·嵌入式硬件·架构
新晨单片机设计12 小时前
S003A-基于STM32单片机温度计(数码管显示)【Proteus仿真+Keil程序+原理图】
stm32·单片机·stm32单片机功能定制
AOI小白新手上路12 小时前
江科协51单片机16-1 DA数模转换实验(PWM 呼吸灯)
单片机·嵌入式硬件·51单片机
hongmai66688813 小时前
告别Wi-Fi,专注Mesh:ESP32-H2-MINI-1U-H2S模组规格与应用
单片机·嵌入式硬件·物联网·5g·h.265
Yiran_G13 小时前
BLE通信距离怎么判断?从发射功率、PHY到天线设计分析
单片机·嵌入式硬件