Clion和STM32CubeMx新建项目

本文详细介绍了如何使用Clion和STM32CubeMx创建STM32开发项目。首先在Clion中新建项目,接着打开STM32CubeMx选择芯片,配置GPIO、RCC和时钟。强调了配置调试模式的重要性,特别是ST-Link设置。在工程管理部分讨论了代码导入的三种方式及其优缺点。最后在Clion中配置项目文件并编写基本的LED闪烁代码。
摘要由CSDN通过智能技术生成

Clion和STM32CubeMx创建项目

工具Clion和STM32CubeMx

1、Clion新建项目

2、双击打开STM32CubeMx软件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T5lC0dTB-1656512609968)(stm32f103.assets/image-20220629195533235.png)]

3、选择自己对应的芯片并打开

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MYXiNB7s-1656512609971)(stm32f103.assets/image-20220629200105438.png)]

出现芯片型号选择 一般我们直接搜索自己芯片的型号即可

如果你是设计产品想要选择一款芯片 在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片

具体流程1:

  • 1 搜索芯片型号
  • 2选择芯片
  • 3创建工程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-05dggTwh-1656512609972)(stm32f103.assets/image-20220629200959204.png)]

这里我们分成三大块来讲解

1、MCU外设资源选择

在这里可以选择MCU的各种资源和外设

  • Categories 种类选择

将MCU的各种外设和资源分类,供用户选择使用

  • A-Z 顺序选择

MCU的外设资源按A-Z 排序,供用户选择使用

2、外设配置

这里可以设置你所选择外设的各种功能

这里以GPIO为例 我们可以选择输出模式、默认电平

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XWkTtF3O-1656512609973)(stm32f103.assets/image-20220629201040527.png)]

和我们配置库函数的时候基本一样,但是STM32CubeMx将这些转换为了图形和选项,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设 这便是CubeMx的核心所在

3、预览界面

这里分为引脚预览系统预览

引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置

随便点击一个引脚,即可设置该引脚的各种功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKaTW6CJ-1656512609974)(stm32f103.assets/image-20220629194525117.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CdaKpwRj-1656512609975)(stm32f103.assets/image-20220629194547142.png)]这种颜色表示不可配置引脚 电源专用引脚以黄色突出显示。其配置不能更改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bAZLSAQW-1656512609976)(stm32f103.assets/image-20220629194605934.png)]这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能 引脚处于no mode 状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpF3oEZD-1656512609979)(stm32f103.assets/image-20220629194641868.png)]绿色表示配置成功

系统预览

系统预览就是查看配置的各种外设和GPIO的状态

表示没有问题

表示警告,对应配置出现问题 点击该选项即可外设配置界面查看


具体各个功能的配置(UATR/DMA/ADC/TIM…)我们再接下来的文章会一一讲解,这里就不再过多介绍了

4、GPIO设置

因为我们这里用LED,所以还要配置GPIO引脚

  • 起一个别名,宏定义

4、设置RCC

设置高速外部时钟HSE 选择外部时钟源

5、设置时钟

外部晶振为8MHz

  1. 选择外部时钟HSE 8MHz
  2. PLL锁相环倍频72倍
  3. 系统时钟来源选择为PLL
  4. 设置APB1分频器为 /2
  5. 这时候定时器的时钟频率为72Mhz

32的时钟树框图 《【STM32】系统时钟RCC详解(超详细,超全面)》

6、配置调试模式


ST-Link 就是 Serial Wire 调试模式,一定要设置!!!
如果不配置 Serial Wire 模式,程序一旦通过 ST-Link 烧录到芯片中,芯片就再也不能被ST-Link 识别了。
ST-Link V2烧录问题(已解决)

7、工程管理

设置完MCU的各个配置之后,第三个就是工程文件的设置了

  • 设置项目名称
  • 设置存储路径
  • 选择所用IDE(这里用的是Clion,所以用STM32CubeIDE或者SW4STM32都可以)

将HAL库的所有.C和.H都复制到所建工程中

优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便

缺点: 体积大,编译时间长(很长)

只复制所需要的.C和.H (推荐)

优点:体积相对小,编译时间短,并且工程可复制拷贝

缺点: 新增外设时需要重新用STM32CubeMX导入

不复制文件,直接从软件包存放位置导入.C和.H

优点:体积小,比较节约硬盘空间

缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径

自行选择方式即可

具体流程5:

然后点击上方GENERATE CODE 创建工程

8、回到Clion软件

选择自己的配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gmXAxNny-1656512609999)(stm32f103.assets/image-20220629221932932.png)]

我这里是自定义配置文件,自己新建一个cfg文件:st_my_F1_stlink-v2.cfg

source [find interface/stlink-v2.cfg]

transport select hla_swd

source [find target/stm32f1x.cfg]

(7条消息) 基于Clion IDE + STM32CubeMX搭建STM32开发环境(详细介绍搭建过程)_Ch_champion的博客-CSDN博客_clion搭建stm32开发环境

9、编写代码

在main.c主函数中的while循环加入下面代码

while (1) {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    /*0 为灭 1为亮*/
    HAL_GPIO_WritePin(LED_PIN_GPIO_Port, LED_PIN_Pin, 0);
    HAL_Delay(50);
    HAL_GPIO_WritePin(LED_PIN_GPIO_Port, LED_PIN_Pin, 1);
    HAL_Delay(50);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛尘~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值