IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【软件入门】CLion入门(配合CubeMX食用) -> 正文阅读

[嵌入式]【软件入门】CLion入门(配合CubeMX食用)

CLion入门(配合CubeMX食用)

这篇文章将实现用CLion+STM32CubeMX+HAL库简单点一个灯,如果想了解更多的CLion小技巧,请见请见【软件入门】CLion小技巧(持续更新)_芜湖_的博客-CSDN博客

1.前言

在正点原子和学校教学中都是教我们使用Keil进行代码编写,但是估计用过Keil的用户都会觉得这个软件的界面实在是太老了,看上去实在不是特别的舒服。之前学python接触了PyCharm这款编译器,发现JetBrains家编译器很全,也包括C的编译器CLion。搜一下发现还真有大佬将CLion配置用于STM32开发,因此就学着配了一下。

对了,假如你和笔者一样是学生,可以通过学信网的验证报告申请免费的JetBrains全家桶。笔者的CLion和PyCharm就是白嫖来的

关于CLion的配置,可以参考稚晖君大佬的文章,笔者就是跟着文章配的,第一次配的有问题,不过第二次重新配就没啥毛病了。如果大家在配的过程中发生了某些不知名的问题,删了重新配一下试试就行。链接:

配置CLion用于STM32开发【优雅の嵌入式开发】 - 知乎 (zhihu.com)

大家在配环境的时候最好把下载的东西放到一个大文件夹里,这样方便找,如下图所示:

在这里插入图片描述

如果实在自己配不好,留言把压缩包发给你也行。

关于STM32CubeMX的使用可以参照笔者之前的博客:

【软件入门】STM32CubeMX快速入门_芜湖_的博客-CSDN博客_stm32cubemx

2.点灯

2.1.新建CLion工程

打开CLion,新建一个项目:

在这里插入图片描述

选择STM32CubeMX,在合适的位置创建工程test:

在这里插入图片描述

注意要记住创建的位置和工程名,位置是E:\programme\STM32\2022.07\07.13\t,工程名是test。点击创建:

在这里插入图片描述

默认配置的是STM32F030F4Px,但是没关系,我们还可以自己改。点击蓝色字:

在这里插入图片描述

2.2.CubeMX配置

2.2.1.芯片

首先更换我们使用的芯片。点击左上角STM32F030F4Px那里:

在这里插入图片描述

进入选芯片的界面,我们使用的硬件平台是正点原子mini板,选择STM32F103RCT6:

在这里插入图片描述

接下来就是常规的CubeMX配置了。左侧可以更换两种显示方式,一种是按类别,一种是按A-Z显示,笔者选择的是A-Z:

在这里插入图片描述

2.2.2.SYS

在SYS中要选择Debug,如果不选的话则只可以烧录一次。或者严谨地说,也可以烧录,但是比较麻烦,为了少点麻烦最好选上。笔者使用的是ST-Link,选择如下:

在这里插入图片描述

在SDIO中选择Disable即可:

在这里插入图片描述

ST-Link虽然有两大排线,但是其实只用其中4根即可,一个VCC,一个GND,另外两个如图中所示:SWCLK和SWDIO。

2.2.3.RCC

HSE选择Crystal/Ceramic Resonnatorm,使用外部晶振:

在这里插入图片描述

然后点击上方的Clock Configuration,进行如下时钟源配置:

在这里插入图片描述

2.2.4.LED

以PA8为例(LED0),点击PA8,选择GPIO_Output:

在这里插入图片描述

点击左侧GPIO,然后点击PA8的这一行表格:

在这里插入图片描述

在下方就可以进行配置了。进行如下配置:

在这里插入图片描述

第一行是IO口输出高电平,这是为了让LED灭,具体原因查看mini板原理图即可;

第二行是模式,设置为推挽输出;

第三行是选择上拉/下拉,这里选上拉,原因同样查看原理图;

第四行是速度,在标准库里是具体到多少MHZ,如50MHZ、10MHZ,而在HAL库中是LOW、MEDIUM、HIGH三种,这里选低就可以。

还可以取个名字,如LED0:

在这里插入图片描述

LED1配置同理。配置好后如下所示:

在这里插入图片描述

此时左边会有警告,这些都可以暂时不管:

在这里插入图片描述

2.2.5.生成工程

点击Project Manager进行如下配置:

在这里插入图片描述

第一行是工程名,要和之前我们在创建CLion时配置的一样,这里是test;

第二行是地址,地址也必须和之前配置的一样;

第五行是IDE选择和版本号选择,我们选择SW4STM32这一选项。

读者可以结合刚刚CLion配置的界面对照一下进行理解:

在这里插入图片描述

然后在左侧点击Code Generater,笔者是这样配置的:

在这里插入图片描述

第一个框中是二选一(第一行不能选):

第一行是将HAL库的所有.C和.H都复制到所建工程中,这样体积大,但不需要后续再加。这里禁止选择;

第二行是只复制所需要的.C和.H,这样体积小,但后续需要再加;

第三行是不复制文件,直接从软件包存放位置导入.C和.H,这样体积更小,但是复制到别的电脑上的话可能会有麻烦。

第二个框中是多选:

第一行是每个外设生成一对.c、.h文件作为外设初始化;

第二行是重新生成时备份以前生成的文件;

第三行是重新生成时保留用户代码;

第四行是当没有重新生成时,删除以前生成的文件。

读者可以自己决定。

配置完后即可在右上角点击生成代码:

在这里插入图片描述

他会提示警告,说这个工程已经存在了:

在这里插入图片描述

直接Yes就行,我们就是需要覆盖原先自动生成的文件。

然后不需要打开,点击Close即可,因为CLion已经打开好了:

在这里插入图片描述

2.3.在CLion中添加相关代码点灯

回到CLion,会让你选择配置文件,这里先不选,一会再配,跳过即可:

在这里插入图片描述

点击Core-Src,打开main.c:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6pIxaaZW-1657726742399)(…/…/Typora图像保存/image-20220713231519734.png)]

在相应的位置添加点灯代码:

  /* USER CODE BEGIN WHILE */
  while (1)
  {
      HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
      HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

2.4.配置并烧录

在右上角选择编辑配置:

在这里插入图片描述

点击“+”,选择OpenOCD:

在这里插入图片描述

笔者使用的是ST-Link,进行如下配置:

在这里插入图片描述

其中:

名称填写自己能看懂的即可,无硬性要求;

可执行文件与目标相同;

GDB无需修改;

面板配置文件需要自己创建,在工程路径下创建一个文本文档,名称无所谓,最好英文且能看懂,把下面几行复制进去:

# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000

保存后将后缀改为.cfg文件,然后填入到面板配置文件即可。

配置好后如下所示:

在这里插入图片描述

点击小锤子进行编译:

在这里插入图片描述

可以看到,也生成了.obj文件,我们也可以通过串口进行烧录。为了方便我们还是直接点击小三角使用ST-Link进行烧录:

在这里插入图片描述

出现这部分红色文字说明烧录完成,右下角也显示已下载固件。点灯成功:

在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:03:54  更:2022-07-20 19:06:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 11:42:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码