Clion配置ESP32开发,一文就够了

news2024/9/20 10:22:27

目录

  • 1.下载ESP-IDF
  • 2.配置ESP32开发环境
    • 2.1方法1:Clion官方手册
    • 2.2方法2:
  • 3.测试Clion开发ESP32的环境
  • 4.关于Clion的monitor无法正常运行的解决方法

我这里使用的CLiion版本是2023.2.1,网上激活方法有很多,这里就不赘述。
电脑是WIn11系统。

1.下载ESP-IDF

  点击->IDF下载链接,下载最新版本的ESP-IDF。
在这里插入图片描述
  下载好安装包以后,双击打开进行安装:
在这里插入图片描述
在这里插入图片描述
  自己选择安装目录,目录不要带中文。
在这里插入图片描述
  这里的PowerShell、命令提示符可以不选桌面快捷方式,但是开始菜单快捷方式要保留,方便后续使用。
在这里插入图片描述
  点击【安装】即可。
在这里插入图片描述

2.配置ESP32开发环境

2.1方法1:Clion官方手册

  将目录D:\Softwares\Espressif\frameworks\esp-idf-v5.3\examples\get-started(目录根据第一节中的安装目录进行查找)中的sample_project工程复制到桌面,右击文件夹用Clion打开。
  点击【信任此目录】,打开后“关闭项目向导”,可以看到Clion报以下错误,这是因为工程没有配置环境变量的问题。

CMake Error at CMakeLists.txt:5 (include):
  include could not find requested file:

    /tools/cmake/project.cmake


-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Softwares_datas/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/Softwares_datas/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete, errors occurred!

在这里插入图片描述

  点击环境右侧的📕按键,填入以下用户环境变量,这里我的板子是esp32s3,如果你的板子芯片是esp32那就写es32;COM口是根据自己插入板子的口识别到的。我的开发板是ESP32-S3,将JTAG仿真口(就是D+和D-所在的USB口)接到电脑上,可以查看到COM口。
在这里插入图片描述

  打开ESP-IDF CMD,输入echo %PATH%+回车,复制下面的路径到Espressif之前,前面的都是关于ESP-IDF的。
在这里插入图片描述
  输入到系统环境变量的Path中,在最前面粘贴即可,粘贴玩点回车,不然可能没填成功。好的,到这里就配置完成了。
在这里插入图片描述
  刚设置完可能还会报错,按照如下方法【重新缓存并重新加载项目】即可。如果还有其他PATH错误,请仔细检查系统环境变量的Path有没有设置上,复制完一定要加回车! 这种方法需要每打开一个工程就要配置一次。
在这里插入图片描述

2.2方法2:

  原文在这里——>链接,主要是参考新版版Clion配置方法。
  用记事本打开下面的文件。
在这里插入图片描述
  开头加入以下指令,根据自己的安装目录进行设置。

:: set IDF_PATH
set IDF_PATH=D:\Softwares\Espressif\frameworks\esp-idf-v5.3

  创建新的工具链,环境文件选择刚刚编辑的idf_cmd_init.bat文件。
在这里插入图片描述
  在CMake种选择刚刚创建的工具链,并设置用户环境变量。
在这里插入图片描述

  配置用户的环境变量,并不需要配置系统变量Path。点击确定即可,如果有报错就点击【重新缓存并重新加载项目】,到目前位置就配置完成了。打开新的工程时,只需要选择刚刚配置的工具链并设置用户环境变量即可。
在这里插入图片描述

3.测试Clion开发ESP32的环境

  配置好环境后,就可以编译一下程序了,右上角配置选择”app“,点击锤子🔨进行编译;选择”flash“,点击锤子进行下载。这里我把main.c的程序换成了下面这种:

#include <stdio.h>
#include <esp_log.h>
#include "esp_rom_sys.h"
void app_main(void)
{
    while(1){
        ESP_LOGI("main","hhh");
        esp_rom_delay_us(1000*1000);
    }

}

在这里插入图片描述
  选择monitor,点击锤子想进行监测板子运行,但是会报以下错误,让我设置一个名字为ESPBAUD的环境变量,

Note: python;-m;esp_idf_monitor will attempt to set baud rate automatically. To specify a baud rate, set the ESPBAUD environment variable.
error: Monitor requires standard input to be attached to TTY
CMake Error at run_serial_tool.cmake:66 (message):
  python;-m;esp_idf_monitor failed.

  设置完以后会报以下错误,这里暂且不从Clion进行监控板子的运行状态。已解决,请看第4节

error: Monitor requires standard input to be attached to TTY
CMake Error at run_serial_tool.cmake:66 (message):
  python;-m;esp_idf_monitor failed.

  打开ESP-IDF PowerShell,输入以下代码在终端进行检测,可以看到log是每1s打印1此,证明状态是正常的。Ctrl+]停止打印。

python -m esp_idf_monitor

在这里插入图片描述

4.关于Clion的monitor无法正常运行的解决方法

  打开运行/调试设置
在这里插入图片描述
  创建CMake应用程序,做下图配置,根据自己安装路径选择可执行文件,工作目录就是自己的工程目录,环境变量不设置也可以。
在这里插入图片描述
  点击🔺运行按钮,即可看到命令行中开始打印数据:
在这里插入图片描述

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

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

相关文章

无线感知会议系列【1】【增强无线感知应用的鲁棒性】

前言&#xff1a; 这个是2021年 泛在可信智能感知论坛&#xff0c;汤战勇 &#xff08;西北大学物联网研究院 )教授的 一个讲座《wireless signals like WiFi, RFID and (ultra) sound as a powerful modality for ubiquitous sensing》 参考连接&#xff1a; 4.见微知萌—…

02_硬件基础知识学习

通过上一课的学习&#xff0c;我们貌似成功的点亮了一个 LED 小灯&#xff0c;但是有一些知识大家还没彻底搞明白。单片机是根据硬件电路图的设计来编写代码的&#xff0c;所以我们不仅仅要学习编程知识&#xff0c;还要学习基本的硬件知识&#xff0c;这节课我们就要来穿插介绍…

萱仔环境记录——git的使用流程:以上传一个项目进入GitHub仓库为例子

前段时间我已经不使用学校的电脑了&#xff0c;在自己的笔记本上安装了git&#xff0c;准备好好把我这几年做的项目整理一下进行开源&#xff0c;由于前几次的面试&#xff0c;一些公司考核到了git的用法&#xff0c;虽然平时我也在使用git对自己的项目进行管理&#xff0c;但还…

为什么腾讯难以再现《黑神话:悟空》这样的游戏大作?

自《黑神话:悟空》发布以来,它凭借令人惊艳的画面和深入人心的故事情节,迅速在全球范围内收获了大量粉丝。这款游戏的成功,不仅让全球玩家看到了国产游戏的新高度,也让许多人开始好奇:作为中国游戏行业的巨头,腾讯为什么没能推出类似《黑神话:悟空》这样震撼的作品?今…

c++166面下该过程 向面向对象的转变

#include<iostream> using namespace std; //设计类 属性 函数 //案例一 &#xff1a;立方体 面积和体积 //求两个立方体是否相等 &#xff08;全局函数和成员函数&#xff09; class Cube { private:int m_a;int m_b;int m_c;int m_v;int m_s;public://void setA(int a…

视频剪辑软件大盘点:四款神级工具让你工作更高效!

工作中&#xff0c;视频剪辑是一项不可或缺的技能。而选择一款好用的视频剪辑软件&#xff0c;更是提升工作效率的关键。今天&#xff0c;我就将从功能、易用性、效果以及个人使用感受等方面为大家推荐四款免费的视频剪辑软件&#xff1a; 第一款&#xff1a;福昕视频剪辑 我…

中秋之约,尽在食家巷小程序

中秋&#xff0c;那是一个被月光温柔包裹&#xff0c;被亲情浓浓环绕的节日。在这个象征团圆的日子里&#xff0c;美食就像是情感的纽带&#xff0c;将人们的心紧紧系在一起。而食家巷的美味绝对能让你的中秋更添几分甜蜜。 现在呀&#xff0c;我要给大家推荐一个超级方便的好东…

毫欧表设计整体思路

原因 对于焊接设备的低阻值测量&#xff0c;一般都是mΩ级别的&#xff0c;但万用表的电阻档一般都是以200Ω做为最小档位 设计原理及软件实现设计 设计思路原理图 通过串联在电路中的电流相等&#xff0c;根据阻值和电压的关系得到电阻对应大小 设计中需要考虑的问题 1…

[ccs调试记录]

解决方式&#xff1a;删除code_strat 提示Page0内存不够&#xff0c;找到Page0&#xff0c;根据红叉提示&#xff0c;Ram1内存不足&#xff0c;进行修改 Ram1 length从1000修改为2000&#xff0c;即可&#xff1a;

MIT6.824 课程-PrimaryBackupReplication

Primary Backup Replication 背景 为实现可容错的服务器&#xff0c;主从备份是一种常用的解决方案&#xff1a;在开启了主动备份的系统中&#xff0c;备份服务器的状态需要在几乎任何时候都与主服务器保持一致&#xff0c;这样当主服务器失效后备份服务器才能立刻接管。实现…

计算机网络(二) —— 网络编程套接字

目录 一&#xff0c;认识端口号 1.1 背景 1.2 端口号是什么 1.3 三个问题 二&#xff0c;认识Tcp协议和Udp协议 三&#xff0c;网络字节序 四&#xff0c;socket编程接口 4.1 socket常见API 4.2 sockaddr结构 一&#xff0c;认识端口号 1.1 背景 问题&#xff1a;在进…

C++,Qt学习 2024.9.10

制作ui界面实现&#xff1a;模拟定时闹钟功能 启动后&#xff0c;lab实时获取系统时间&#xff0c;当系统时间走到设置的时间时&#xff0c;语音播报下方lineEdit中的内容&#xff0c;启动前取消按键不可用&#xff0c;启动后除了取消按键可用其他部分都设为不可用&#xff0c…

Java 创建对象方法的演变

1、普通 Java 代码 public class Rectangle {private int width;private int length;public Rectangle() {System.out.println("Hello World!");}public void setWidth(int widTth) {this.width widTth;}public void setLength(int length) {this.length length;}…

个人随想-如何开发一个code agent

随着sonnet的普及&#xff0c;现在的开发确实可以达到事半功倍的效果&#xff0c;再加上cursor、claude dev等工具的加持&#xff0c;现在的软件开发&#xff0c;确实门槛降低了很多&#xff0c;我们可以快速的让ai给我们大量的提示、重构、单元测试、explain甚至是完全用自然语…

c++指针和引用专题

一 基本概念 图解C++指针与引用的区别_指针与引用 图解-CSDN博客https://blog.csdn.net/shang_0122/article/details/104755481 为什么C+

房屋租赁|基于springboot的房屋租赁管理系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#x…

方位对称性+均匀分布=交叉极化和同极化不相关

这个推导是一种方为对称散射矩阵的均匀分布&#xff0c;对于多种方位对称性的散射矩阵&#xff0c;均匀分布。可以看作该模型的简单叠加。从而交叉极化和同极化不相关

PhotoZoom Classic 9.0.2中文版新功能介绍及PhotoZoom 9使用教程

PhotoZoom Classic 9.0.2中文版简介 PhotoZoom Classic 9.0.2中文版是一款新颖的、技术上具有革命性的对数码图片进行放大的工具。通常的工具对数码图片进行放大时&#xff0c;总会降低图片的品质&#xff0c;而这款软件使用了S-SPLINE技术(一种申请过专利的&#xff0c;拥有自…

Word文档的读入(3)

逐个读取答题卡后&#xff0c;我们可以访问Word文档&#xff08;Document&#xff09;中的 .paragraphs 属性&#xff0c;来获取文档中的段落列表。段落列表的组成元素是所有的段落对象&#xff0c;可以使用索引定位到指定的段落对象。 完善代码&#xff08;读取学生学号所在的…

FFmpeg 7.0 版本 “Dijkstra”的特点概述

FFmpeg 7.0 FFmpeg 官网:https://ffmpeg.org/FFmpeg 官网更新日志,2024.4.5 号发布代号"Dijkstra"的 7.0 版本的 FFmpeg,如下截图: 为什么叫 Dijkstra“Dijkstra” 指的是艾兹格戴克斯特拉(Edsger Wybe Dijkstra),他是一位荷兰计算机科学家,对计算机科学领域…