
一、STM32CubeMX 简介 1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。 在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间 3 Y: G4 X( I$ `2 n安装CubeMx一共需要三个
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用, 百度云:https://pan.baidu.com/s/1WD5E4enEZ_mw0-NGBl_bUw 提取码: e8gs (定时更新最新版本) + z8 r! Z& r$ F3 n* A7 g1点击安装 ![]() 2 修改路径 点下一步 ![]() 3 等待安装完成,关闭界面 ![]() 2安装STM32CubeMX 百度云:https://pan.baidu.com/s/1dm83PbIsq7Vk9bAyFNinag 提取码: wjmd a) L% z" l, j4 I; A官网下载: ![]() 在官网下载需要注册下ST官网账号,目前最新为5.3.0版本,不想在官网下可以在百度云盘下载, 1打开安装包 ![]() 2同意协议,下一步 ![]() 3 勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。 ![]() 4 点YES 这句话是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续 点继续即可 ![]() 5 直接点NEXT,其他不用设置 之后开始安装 ![]() 6 安装完成,点Done退出 ![]() 3安装HAL库 什么是HAL固件库? STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。 和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。 并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境; HAL库,有在线安装、离线安装两种方式。 9 {5 T) L! F- O% r; j在线安装 打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages ![]() 会跳出来一个选择型号界面 勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。 如下图: ![]() 离线安装需要下载安装包,这里提供百度云和ST官方下载方式 PS:建议在线安装 速度快,又稳定 软件下载旁边一栏就是HAL库下载 下载对应芯片的安装包 ![]() ![]() 百度云: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盘 可以自行修改 ![]() 解压到相对应路径即可 ![]() 到此,恭喜你的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:
那么接下来就是我们整个流程的重头戏了 ![]() 这里我们分成三大块来讲解 1MCU外设资源选择 在这里可以选择MCU的各种资源和外设 提供两种方式 ![]()
将MCU的各种外设和资源分类,供用户选择使用
MCU的外设资源按A-Z 排序,供用户选择使用 2外设配置 这里可以设置你所选择外设的各种功能 这里以串口1为例 我们可以选择串口的模式(异步,同步,半双工) 串口接收中断,和串口DMA传输等等 ![]() 和我们配置库函数的时候基本一样,但是 STM32CubeMx将这些转换为了图形和选项 ,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设 这便是CubeMx的核心所在 3预览界面 ![]() 这里分为引脚预览 和系统预览 引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置 * u- Y3 {2 ], { Z. Z; g' E& Z随便点击一个引脚,即可设置该引脚的各种功能 ![]() ![]() ![]() ![]() 系统预览 系统预览就是查看配置的各种外设和GPIO的状态 ![]() ![]() ![]() 具体各个功能的配置(UATR/DMA/ADC/TIM...)我们再接下来的文章会一一讲解,这里就不再过多介绍了 具体流程2: 这里只需要把我们的LED对应引脚设置为GPIO_Output即可 ![]() ![]() 其实也就是32的时钟树框图让你配置 默认时钟是使用内部RC振荡器(HSI) 如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》 具体流程3: 或者先按照图中方式配置为72MHz即可
![]() 设置完MCU的各个配置之后,第三个就是工程文件的设置了 ![]() 具体流程4: 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 IDE我们使用的是 MDK5
然后点击Code Generator,进行进一步配置 (重点) ![]() ![]() 将HAL库的所有.C和.H都复制到所建工程中 优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便 缺点: 体积大,编译时间长(很长) ![]() 只复制所需要的.C和.H (推荐) 优点:体积相对小,编译时间短,并且工程可复制拷贝 缺点: 新增外设时需要重新用STM32CubeMX导入 ![]() 不复制文件,直接从软件包存放位置导入.C和.H 优点:体积小,比较节约硬盘空间 缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径 自行选择方式即可 具体流程5: 然后点击GENERATE CODE 创建工程 ![]() 创建成功,打开工程 ![]() 具体流程6:while循环添加下面两行代码即可 ![]()
![]() 具体流程7: 新建的工程所有配置都是默认的 我们需要自行选择下载模式,勾选上下载后复位运行 ![]() 所有自己编写的代码请放在/* USER CODE BEGIN XXX */ /* USER CODE END XXX */之间 这样我们修改工程的时候你自己写的代码就不会被删除 ![]() 到此,STM32CubeMX的基本使用介绍完了 7 O$ [4 h, N1 P. M6 J+ E1 f$ Y, S r- z7 M/ t # q/ A% j3 {! N( N1 h |
新版STM32Cube for Visual Studio Code开发体验
【STM32N6570-DK评测】3.CubeMX关于DCMIPP和CSI的BUG整理及摄像头使用
经验分享常被误解的开、关总中断
【STM32C0测评】Nucleo-C092开发板功耗测试
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(软件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件软件IIC一网打尽)
【STM32C0测评】Nucleo-C092开发板USART串口测试
【STM32C0测评】Nucleo-C092开发板使用PWM控制板载LED呼吸灯
【STM32C0测评】Nucleo-C092板卡外部中断控制板载LED灯
感谢分享
不错的学习资料!!!!!!