你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32CubeMX】+使用教程

[复制链接]
神圣雅诗人 发布时间:2020-3-6 16:49
一、STM32CubeMX 简介
1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。

0 v) V, F6 i; U9 i8 L
在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等  省去了我们配置各种外设的时间,大大的节省了时间
3 Y: G4 X( I$ `2 n
安装CubeMx一共需要三个
  • JRE (Java Runtime Environment)  Java运行环境 运行JAVA程序所必须的环境的集合
  • STM32CubeMX
  • HAL库   STM32 HAL固件库   ST官方推出的另一套库$ b+ f; M( @4 F( k& h
1安装JRE
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用,
百度云:https://pan.baidu.com/s/1WD5E4enEZ_mw0-NGBl_bUw 提取码: e8gs    (定时更新最新版本)
+ z8 r! Z& r$ F3 n* A7 g
1点击安装
2 修改路径 点下一步
3 等待安装完成,关闭界面
5 I* t& L2 U9 m+ @
2安装STM32CubeMX  a) L% z" l, j4 I; A
官网下载:
在官网下载需要注册下ST官网账号,目前最新为5.3.0版本,不想在官网下可以在百度云盘下载,

( Q+ |$ ?2 P5 I4 u! n, Z9 ?, M+ Q
1打开安装包
2同意协议,下一步
3 勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。
4 点YES  这句话是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续
点继续即可
5 直接点NEXT,其他不用设置 之后开始安装
6 安装完成,点Done退出
# o( f7 _# g- K  Q0 `
3安装HAL库
什么是HAL固件库?
STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。

! K  F3 d% i1 L
和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。
并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境;

* i' {9 f0 w! A- z( O! w- o# o
HAL库,有在线安装、离线安装两种方式。
9 {5 T) L! F- O% r; j
在线安装
打开安装好的 STM32CubeMX 软件  点上面的Help -> Manage embedded software packages
会跳出来一个选择型号界面   勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。 如下图:
离线安装
离线安装需要下载安装包,这里提供百度云和ST官方下载方式          PS:建议在线安装  速度快,又稳定
软件下载旁边一栏就是HAL库下载  下载对应芯片的安装包
/ f& K0 D" L0 g, d/ y4 T

2 A$ I1 @6 K# N$ r
百度云:https://pan.baidu.com/s/1dm83PbIsq7Vk9bAyFNinag 提取码: wjmd   
/ G- M+ z- r" ]; N% m
* W: c( g# B1 V/ G" S8 U& t
1直接导入安装包   Help -> Manage embedded software packages ->From Local  选择离线包即可
2直接解压
Help->Updater Settings...     可以选择HAL库安装包路径 ,默认在C盘 可以自行修改
解压到相对应路径即可

4 y3 |+ ?/ [$ r! |& _
到此,恭喜你的STM32 CubeMx安装成功了。
) }: g1 Q6 t; h; i5 V% a4 V
新建工程
1在主界面选择File-->New Project   或者直接点击ACCEE TO MCU SELECTOR   
, ?) T& r4 P( ?" v# [4 v
出现芯片型号选择  一般我们直接搜索自己芯片的型号即可   
如果你是设计产品想要选择一款芯片  在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片
具体流程1:
  • 1 搜索芯片型号
  • 2选择芯片
  • 3创建工程% A' A' E2 A/ K
那么接下来就是我们整个流程的重头戏了
这里我们分成三大块来讲解
1MCU外设资源选择
在这里可以选择MCU的各种资源和外设
提供两种方式
  • Categories  种类选择
    - T7 [  @8 z! n% L% Z
将MCU的各种外设和资源分类,供用户选择使用
  • A-Z  顺序选择7 g- h2 I* N* Y
MCU的外设资源按A-Z 排序,供用户选择使用
2外设配置
这里可以设置你所选择外设的各种功能
这里以串口1为例   我们可以选择串口的模式(异步,同步,半双工)   串口接收中断,和串口DMA传输等等
和我们配置库函数的时候基本一样,但是  STM32CubeMx将这些转换为了图形和选项  ,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设   这便是CubeMx的核心所在
3预览界面
这里分为引脚预览系统预览
引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置  
* u- Y3 {2 ], {  Z. Z; g' E& Z
随便点击一个引脚,即可设置该引脚的各种功能

2 a# D7 ]* K  a- X5 Y" M
      这种颜色表示不可配置引脚  电源专用引脚以黄色突出显示。其配置不能更改
这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能  引脚处于no mode 状态  

' j# b- e' \0 F" _% R
  绿色表示配置成功
9 p2 \. K4 I* p4 C7 i( Q
系统预览
系统预览就是查看配置的各种外设和GPIO的状态
表示没有问题
表示警告,对应配置出现问题  点击该选项即可外设配置界面查看

# \3 {4 Z& a9 u. B, ?7 r" }, c
具体各个功能的配置(UATR/DMA/ADC/TIM...)我们再接下来的文章会一一讲解,这里就不再过多介绍了
具体流程2:
这里只需要把我们的LED对应引脚设置为GPIO_Output即可
2时钟源设置
其实也就是32的时钟树框图让你配置  默认时钟是使用内部RC振荡器(HSI)
具体流程3:
或者先按照图中方式配置为72MHz即可

, a, }$ U1 z1 h1 P) i8 c- v
  • 需要配置RCC才能够使用外部时钟源* S! c0 q' C: ?+ |5 T# j; w
3.工程管理
设置完MCU的各个配置之后,第三个就是工程文件的设置了
具体流程4:
这里就是工程的各种配置 我们只用到有限几个,其他的默认即可  IDE我们使用的是 MDK5
  • 存储目录不可以有中文
    1 Y% h0 N. \6 U6 a1 ^; S  ~, Y2 R
然后点击Code Generator,进行进一步配置   (重点)
将HAL库的所有.C和.H都复制到所建工程中
优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便
缺点: 体积大,编译时间长(很长)
只复制所需要的.C和.H   (推荐)
优点:体积相对小,编译时间短,并且工程可复制拷贝
缺点: 新增外设时需要重新用STM32CubeMX导入   
不复制文件,直接从软件包存放位置导入.C和.H
优点:体积小,比较节约硬盘空间
缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径   
自行选择方式即可
具体流程5:
然后点击GENERATE CODE  创建工程
创建成功,打开工程
具体流程6:while循环添加下面两行代码即可

  • ) A1 V2 }2 \2 w
    " L8 b0 W( m: W9 r4 _    HAL_Delay(500);

  • 2 g; m! w: g$ V  W* a" l% C( Q6 [$ t9 |$ z
        HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_15);4 v4 r. [8 k* _6 P( q/ ?4 M
5 `" j, z1 \/ g
配置下载工具
具体流程7:
新建的工程所有配置都是默认的  我们需要自行选择下载模式,勾选上下载后复位运行
所有自己编写的代码请放在/* USER CODE BEGIN XXX */   /* USER CODE END XXX */之间
这样我们修改工程的时候你自己写的代码就不会被删除

* H2 u' B2 `: i9 j; {' S
到此,STM32CubeMX的基本使用介绍完了
7 O$ [4 h, N1 P. M6 J+ E1 f
$ Y, S  r- z7 M/ t
# q/ A% j3 {! N( N1 h
1 收藏 评论10 发布时间:2020-3-6 16:49

举报

10个回答
大天津 回答时间:2020-9-2 09:17:28
感谢分享
wang5825 回答时间:2020-9-2 10:33:44
感谢分享!  STM32CubeMX 已更新了 能分享一下吗
xiaonihao444-20 回答时间:2020-9-2 11:32:05
4 W/ `# _# L1 C4 o! ]$ {. e2 U0 _7 b: Z  |
感谢分享
神圣雅诗人 回答时间:2020-9-2 13:14:21
签到
神圣雅诗人 回答时间:2020-9-2 13:14:38
签到
MCU_user 回答时间:2020-9-10 21:03:21
感谢分享
Fily 回答时间:2020-10-20 10:34:56
提示: 作者被禁止或删除 内容自动屏蔽
wker83e103 回答时间:2020-10-20 17:31:46
做的很详细
丰满富饶 回答时间:2021-7-12 15:02:42
不错很详细学习了
罗鸣 回答时间:2021-11-25 20:29:58

不错的学习资料!!!!!!

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版