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.写过带系统的,也写过裸机的,这里总结一下两个类型的框架,记录下自己的心得,主要是文字描述,框架图可以后期添 ...
随机推荐
- PhantomJS,隐身浏览器
PhantomJS PhantomJS是一个无界面的浏览器,实现了传统浏览器的所有功能,除了没有界面,因此,这是一个隐身浏览器. PhantomJS官网 API,特别需要注意的是Web Page Mo ...
- 我的python学习记_01
一切的开始都是从打招呼开始的,python也不例外,首先和将要陪伴我后半生的朋友说句情话: print("不是在最美好的时光遇见你,而是因为遇见你才让我有了最美好的时光") 初写代 ...
- Android M 版本以后的特殊权限问题分析
现象 桌面悬浮框在6.0以后,会因为SYSTEM_ALERT_WINDOW权限的问题,无法在最上层显示. 问题原因 SYSTEM_ALERT_WINDOW,设置悬浮窗,进行一些黑科技 WRITE_SE ...
- git的下载安装以及基本操作
版权声明:本文为CSDN博主「~李疆」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.转载原文链接:https://blog.csdn.net/qq_403232 ...
- Java 将Map按Value值降序排列
1 /** 2 * 将集合按照降序排列-FLOAT 3 * @param nowPartTwoData 4 * @return 5 */ 6 private static List<Map.En ...
- 使用Nginx做反向代理的配置
安装Nginx服务之后 修改Nginx配置文件 如下server字段中主要是配置listen监听8080 端口,然后静态文件袋里到8001 后端端口代理到8000 server { listen 8 ...
- Shiro+springboot+mybatis(md5+salt+散列)认证与授权-01
这个小项目包含了注册与登录,使用了springboot+mybatis+shiro的技术栈:当用户在浏览器登录时发起请求时,首先这一系列的请求会被拦截器进行拦截(ShiroFilter),然后拦截器根 ...
- 集成JUnit测试
集成JUnit测试 既然使用了Spring,那么怎么集成到JUnit中进行测试呢,首先大家能够想到的肯定是: public class TestMain { @Test public void tes ...
- Java学习1——计算机基础知识
本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.
- Java学习day14
可变参数用作方法的形参,方法参数的个数就可变 格式:修饰符 返回值类型 方法名(数据类型...变量名){ } 方法内的形参只能有一个,这里的变量是一个数组 public static <T> ...