STM32 CubeMx使用教程
一、STM32CubeMX 简介
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。
二、CubeMx需要安装的组件
- JRE(Java Runtime Environment)
Java运行环境 运行JAVA程序所必须的环境的集合,由于java的安装比较简单,这里我就不详细说明了。
Java官网:https://www.java.com/en/download/manual.jsp - STM32CubeMX
CubeMX官网:https://www.st.com/en/development-tools/stm32cubemx.html - HAL库
STM32 HAL固件库是ST官方推出的另一套库
三、下载CubeMX
- 切换网页语言

- 选择STM32软件开发套件

- 选择STM32CubeMx

- 下载自己需要的软件

四、安装CubeMX
打开软件安装包

同一协议

勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。

选择安装路径

会提示安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续,点击YES即可

直接点NEXT

安装完成,点Done退出

五、更改CubeMx资源路径
Help -> Updater Settings

资源路径

注意:资源路径中不能有中文出现
六、安装HAL库
在线安装
打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages

选择需要安装的芯片型号和版本

安装完成后如下图:

离线安装
HAL库下载


直接导入安装包 Help -> Manage embedded software packages ->From Local 选择离线包即可

七、使用CubeMx生成HAL
新建工程

选择芯片型号

设置调试器,默认是关闭的,如果不使用调试器关闭即可

设置外部时钟,默认是使用的内部时钟
打开外部时钟

设置时钟评率

将时钟评率设置为72MHz,有不明白的可以看STM32时钟系统的配置寄存器和源码分析

设置LED引脚

设置引脚模式

设置工程

生成工程

八、修改程序
打开工程

注意:编写代码时需要编写在一对注释之间,这样再次生成代码时不会被覆盖在mian.c文件的while循环中加入以下代码
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);
HAL_Delay(1000);
如下图所示:

编译下载测试
参考文献
STM32 CubeMx使用教程一--安装教程:https://blog.csdn.net/as480133937/article/details/98885316
STM32 CubeMx使用教程的更多相关文章
- 转载:百为STM32开发板教程之十二——NAND FLASH
http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二——NAND FLASH 参考资料:百为stm32开发板光盘V3\百为stm32开发 ...
- 转载:百为STM32开发板教程之十一——NOR FLASH
转载:http://bbs.21ic.com/icview-586199-1-1.html 百为STM32开发板教程之十一——NOR FLASH 参考文档:百为stm32开发板光盘\st官方参考资料\ ...
- STM32 Cubemx 输出可调频率与占空比的PWM
这里就不对STM32的PWM进行讲解了,想要了解的可以百度一下,这里主要说怎么实现. 1.建立工程,我选的是STM32F103zet6芯片,选择定时器的PWM功能 2.配置时钟,我这里配的是内部时钟, ...
- 基于STM32F030F4P9和STM32 CUBEMX 输出PWM波形
STM32F030F4P9定时器功能比较丰富,在此记录项目中使用其自动输出PWM波形(频率:50HZ).CubeMX配置定时器如下图说明. 在此定时器基础时钟为48MHZ,配置中不做分频处理,预分频系 ...
- stm32 cubemx hal 工程中 微秒延迟 delay_us
参考的正点原子的代码 测试平台 stm32f429i-disco 配了一个gpio 时钟 gpio /* USER CODE BEGIN 0 */ typedef uint8_t u8; typede ...
- STM32 Cubemx 配置定时器定时1mS
最近才发现原来我把定时器里的配置参数代表的意义给搞混了,这里记录一下,防止以后自己忘记. 以建立一个定时1mS定时器为例: 1.先打开定时器 2.配置好时钟 3.配置定时器设置 重点来了,以前在这里我 ...
- stm32 cubemx hal dma uart参考例程,发送和接收
参考:https://blog.csdn.net/toopoo/article/details/80012317https://blog.csdn.net/morixinguan/article/de ...
- STM32零基础入门教程
本文主要是针对想了解STM32,手里又没有太多预算的小伙伴.市场上针对新手来说,比较合适的STM32开发版太贵,比如正点原子.树莓派等,便宜的教程又不详细,这对想白嫖的小伙伴来说不太有好,所以我选了一 ...
- stm32软件编程的框架及注意事项——rtos篇
0.通常,嵌入式软件(这里指单片机系统)的框架千变万化,有带rtos的,也有裸机的. 0.1.写过带系统的,也写过裸机的,这里总结一下两个类型的框架,记录下自己的心得,主要是文字描述,框架图可以后期添 ...
随机推荐
- 关于mui中一个页面有有多个页签进行切换的下拉刷新加搜索问题
此图是最近做的项目中的一页,用的是mui结合vue,用了mui后,觉得是真心难用啊,先不说其他的,就光这个下拉刷新就让人奔溃了,问题层出不穷,不过最后经过努力还是摆平了哈. 1.每次切换到新的标签,都 ...
- EL表达式详解(常用表达式以及取值)
EL表达式 学习总结 一. El表达式概念 二. El中的表达式 1. 算术表达式 2. 比较表达式 3. 逻辑表达式 4. 三元表达式 5. 判空表达式 三.EL 从四个作用域中取值 1. 概念 2 ...
- ES6(Promise)等一个函数执行完后再执行另一个函数
function text1(){ return new Promise((resolve, reject) => { setTimeout(function () { resolve(cons ...
- maven导入依赖了提示can't resolved
maven导入依赖显红报错 网上有很多解决方案,我试过几个但是都不是很好用,推荐一个我自己一直在用的解决方案 在终端执行命令 mvn idea:idea 无法解析的原因基本上是因为包没下载完整,执行这 ...
- c++对c的拓展_增强
一:新增bool类型关键字:c中bool类型需要添加stdbool.h头文件,c++则可直接使用 void test(){ bool a=true; //c++可直接定义而c需添加头文件 true和f ...
- zabbix3.2 监控MongoDB
本文参考连接: https://www.jianshu.com/p/a6b36d5b74ba 一.实验环境: MongoDB/zabbix-agent:172.16.88.44 zabbix-serv ...
- IOH和MCH(北桥芯片的变化)
IOH位置架构图示意图 北桥芯片-MCH和北桥芯片-IOH区别 1.MCH是内存控制器中心的英文缩写,负责连接CPU,AGP总线和内存, 目前Intel的CPU已经把内存控制器(北桥芯片-MCH)总线 ...
- linux运行二进制文件编写方式
chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test. ...
- Python BeautifulSoup4 爬虫基础、多线程学习
针对 崔庆才老师 的 https://ssr1.scrape.center 的爬虫基础练习.Threading多线程库.Time库.json库.BeautifulSoup4 爬虫库.py基本语法
- 入门学习SpringCloud
今天趁着空余时间,看了一丁点狂神SpringCloud的视频.学习微服务及架构相关知识,明天再学习系列视频的剩下部分,部署第一个SpringCloud练习. 同时趁着晚上课后大家有时间组织了小型会议, ...