• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【STM32CubeMx入门教程】——功能模块介绍

      最近ST的芯片价格涨疯了(犯愁中。。。),心灰意冷原本不打算继续更这个教程了,看到大家其实对这一块还是很想要深入学习,那么闲来无事,我就做一下大家的引路人吧,上一篇主要讲了如何安装CubeMx以及利用CubeMx如何快速创建一个工程,这一篇换一个角度,站在CubeMx的角度来看看,与我们传统的方式开发有哪些不同。闲话少说,转入正题。

      CubeMx划分了几大功能模块:【引脚配置】、【时钟配置】、【项目管理】、【工具】。

第一次接触到CubeMx,我就是被它的【时钟配置】功能所吸引,所以还是从最直观的部分来讲:

============================【时钟配置】===============================

还记得我刚接触103的时候,感觉最麻烦的部分就是时钟树的配置,要根据官方提供的时钟树结构自己用代码将整个时钟树仔细配置好,后来发现的确是太麻烦了,而CubeMx直接用勾勾选选的方式来告诉你神马叫直观。

时钟树没什么好讲的,大家参考上图根据实际的应用情况自行配置就好。这里告诉大家一个小秘密,你需要某个外设一个特定的时钟频率,你可以直接在方框中输入具体的值,然后按回车,等待CubeMx自己给你匹配好,开发工作都快简化到令人发指的程度了。

=============================【项目管理】==============================

关于项目管理也分了三大模块:

1. Project模块。

2.CodeGenerator模块:

3.Advanced Setting模块。

【项目管理】总结:只关注第1项工程配置就可以,第2和第3感兴趣可以看一下,不感兴趣就直接默认就好,其实CubeMx给人的感觉配置项有好多,但是实际并不需要都配置,需要用哪里配置哪里就可以。

===========================【引脚配置】================================

引脚配置主要被划分了三步,如下:

我们站在应用的角度上,以GPIO引脚配置为例:

第一步,找到GPIO功能,双击后,会出现第二栏功能具体配置栏。

第二步,在第三栏中选择需要配置的引脚,将其功能选为GPIO功能。

第三步,在第二栏具体功能配置栏进行详细的配置。

到这里,一个完整的引脚配置功能就完成了,CubeMx对引脚配置功能分了很多类,严格意义上来讲不能说是引脚配置,应该是单片机的配置功能更为恰当,让我们来看一下。

【引脚配置】功能是CubeMx的核心功能,其实说白了,CubeMx从诞生开始的定位就是帮助我们快速创建一个应用工程,那么它的最大优势就在于硬件的初始化,关于这一部分内容,大家感兴趣的话,可以自己下载下来,具体勾勾选选配置一下,烧录到硬件中测试一下,实践才是最好的老师。

还有一部分是关于【工具】,其实这一部分功能我是没怎么用过,暂时也用不上就不深入研究了,感兴趣的筒子们自己研究下,写个帖子我也学习一下哈。

这一篇帖子到这里就结束了,其实除了硬件初始化,如何搭配HAL库完成整个应用,以及关于CubeMx生成的工程代码分析,如何添加自己的代码到工程中,再重新生成工程时候不被删掉等等还有好多有意思的事情,后面如果大家感兴趣,我搞一个真实的项目,跟大家敞开了唠唠。同志们,再见。

全部回复(15)
正序查看
倒序查看
2021-06-09 21:57

整体讲解清晰明了,MCU库不建议全部添加,不然搞出来一个项目文件太大了,有点占空间

0
回复
lkings
LV.6
3
2021-06-10 11:18

ST價格確實很猛了,不過這也給國產了機會,湖南有一家現在就能做這方面的IC了,樓主講解得很好.學習了

0
回复
2021-06-10 11:31
@lkings
ST價格確實很猛了,不過這也給國產了機會,湖南有一家現在就能做這方面的IC了,樓主講解得很好.學習了

是的呢,谢谢支持。

0
回复
2021-06-10 11:32
@天府大懒猫
整体讲解清晰明了,MCU库不建议全部添加,不然搞出来一个项目文件太大了,有点占空间

是的呢,真正项目应用的时候,还是根据实际情况添加。

0
回复
k6666
LV.9
6
2021-06-10 12:30

STM32的 CubeMX开发的确省不少事情。不过有些还是需要自己理解了配置

0
回复
k6666
LV.9
7
2021-06-10 12:30
@程序小白
是的呢,真正项目应用的时候,还是根据实际情况添加。

对头,这个实际用的时候相关配置选择开启就行。

0
回复
2021-06-10 13:16
@k6666
STM32的CubeMX开发的确省不少事情。不过有些还是需要自己理解了配置

是的呢,而且这个是大势所趋。

0
回复
2021-06-10 14:56

st的这个软件配置的确很给力,非常方便

0
回复
飞翔2004
LV.10
10
2021-06-16 16:47
@lihui710884923
st的这个软件配置的确很给力,非常方便

STM32CubeMx可以自动生成程序的框架非常实用,大家现在都用HAL库写程序吗?

0
回复
2021-06-17 19:53

上学时学过,忘得差不多了,库函数编程简单些,就是后期改程序麻烦些

0
回复
2021-06-19 14:55
@快乐的小天使
上学时学过,忘得差不多了,库函数编程简单些,就是后期改程序麻烦些

用习惯了就好了,也不用记住,随用随查

0
回复
iszjt
LV.5
13
2021-06-22 09:39

ST对软件版本及其集成的库更新频繁,无管理员权限容易安装失败。

0
回复
2021-06-22 13:17
@iszjt
ST对软件版本及其集成的库更新频繁,无管理员权限容易安装失败。

其实没必要太在意软件版本,他更新的挺频繁的,但不是所有的更新都能用得上。

0
回复
2021-06-28 23:23

图形化界面配置程序非常方便

0
回复
鲁珀特
LV.4
16
2021-07-02 15:58

楼主讲的真不错,尤其是时钟树这一块,在多个子程序同时运行的时候,时钟树的配置真的很重要也很麻烦。

0
回复