打印
[其他ST产品]

STM32CubeMX入门

[复制链接]
楼主: 无法去污粉
手机看帖
扫描二维码
随时随地手机跟帖
21
无法去污粉|  楼主 | 2024-4-30 23:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
本帖最后由 无法去污粉 于 2024-5-2 01:08 编辑

[color=rgba(0, 0, 0, 0.75)]创建快捷方式

使用特权

评论回复
22
无法去污粉|  楼主 | 2024-4-30 23:54 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 01:09 编辑

安装进度提示

使用特权

评论回复
23
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 01:09 编辑

[color=rgba(0, 0, 0, 0.75)]完成安装

使用特权

评论回复
24
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:19 编辑

在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMX的基本使用和如何创建一个新的工程并且点亮LED灯

在新建工程时,我们分为了具体流程1~7,如果您不想看每部分的讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯

前期准备:

1、STM32硬件(我的是STM32G474RE)

2、STM32CubeMX软件、 IDE   Keil(MDK-ARM)软件

3、STM32G4xxHAL库 (可以在cubeMX中直接下载)

新建工程
1在主界面选择File-->New Project   或者直接点击ACCEE TO MCU SELECTOR  (此过程可能需要一段时间,请耐心等待)

使用特权

评论回复
25
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:19 编辑

选择芯片型号,界面如下:

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

使用特权

评论回复
26
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:20 编辑

具体流程1:

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

那么接下来就是我们整个流程的重头戏了



使用特权

评论回复
27
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:20 编辑

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

1.MCU外设资源选择

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

提供两种方式

  • Categories  种类选择

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

  • A-Z  顺序选择

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

使用特权

评论回复
28
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:20 编辑

外设配置

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

这里以串口1为例   我们可以选择串口的模式(异步,同步,半双工)   串口接收中断,和串口DMA传输等等

使用特权

评论回复
29
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:20 编辑

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

使用特权

评论回复
30
无法去污粉|  楼主 | 2024-4-30 23:58 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:21 编辑

预览界面

使用特权

评论回复
31
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:21 编辑

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

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

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




使用特权

评论回复
32
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:22 编辑

系统预览

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

表示没有问题

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

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

具体流程2:

这里只需要把我们的LED对应引脚设置为GPIO_Output即可(注意自己的芯片LED所对应的引脚,可查看芯片原理图)



使用特权

评论回复
33
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:22 编辑

具体流程2:

这里只需要把我们的LED对应引脚设置为GPIO_Output即可(注意自己的芯片LED所对应的引脚,可查看芯片原理图)


使用特权

评论回复
34
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:23 编辑

时钟源设置

其实也就是32的时钟树框图让你配置  默认时钟是使用内部RC振荡器(HSI)

如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》

或者先按照图中方式配置为170MHz即可


使用特权

评论回复
35
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:23 编辑

具体流程3:


  • 需要配置RCC才能够使用外部时钟

使用特权

评论回复
36
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:23 编辑

工程管理

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

使用特权

评论回复
37
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:24 编辑

具体流程4:

这里就是工程的各种配置 我们只用到有限几个,其他的默认即可  IDE我使用的是 MDK5

特别注意:存储目录不可以出现中文



使用特权

评论回复
38
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:24 编辑

然后点击Project Manager,进行进一步配置   (重点)



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

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

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



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

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

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



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

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

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

自行选择方式即可

使用特权

评论回复
39
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:25 编辑

具体流程5:

点击  GENERATE CODE  创建工程

点击 open project,打开工程

使用特权

评论回复
40
无法去污粉|  楼主 | 2024-4-30 23:59 | 只看该作者
本帖最后由 无法去污粉 于 2024-5-2 16:25 编辑

具体流程6:while循环添加下面四行代码即可(实现LED闪烁功能)



HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);
HAL_Delay(500);

HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);
HAL_Delay(500);

注意:用户编写的代码一定要放在/* USER CODE BEGIN XXX */   /* USER CODE END XXX */之间,防止丢失

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则