一、STM32CubeMX 介绍
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,通过自己对硬件的需要,进行选择,而后可以快速生成代码,减少开发人员的开发难度,时间和花销。STM32 覆盖整个STM32系列。
在我看来有如下优点:
大量的芯片(资源,价格介绍),方便对我们进行芯片选型
除了拥有芯片本身的外设选择外,还拥有一系列的中间件,如 RTOS, USB, TCP/IP等
对芯片的整体资源,以及时钟树有更深刻的认识
快速代码生成(对外设进行初始化),方便我们对我们的想法进行验证与开发
工程也可以进行更新(当增加外设时)
下面我们详细介绍一下以上优点:
大量的芯片(资源,价格介绍),方便对我们进行芯片选型
除了拥有芯片本身的外设选择外,还拥有一系列的中间件,如 RTOS, USB, TCP/IP等
对芯片的整体资源,以及时钟树有更深刻的认识
上面说了资源,这里看一下时钟树
快速代码生成(对外设进行初始化),方便我们对我们的想法进行验证与开发
生成的工程
快速生成的代码(简要说一下流程)
选择想要的资源,这里就以 USART 为例
时钟配置
生成的代码
接下来使用串口相关 API 进行调用就可以了
总结:
不过对初学者来说,可能会觉得头疼,毕竟对标准库进行二次封装,但是只要学会了,相信更容易进行编程
后续我还会继续分享STM32CuBeMX的相关操作,以及对库函数源码进行剖析,相信你会学到更多知识。
关键字:STM32CubeMX STM32 代码生成器
引用地址:
什么是STM32CubeMX?(STM32代码生成器)
推荐阅读最新更新时间:2024-11-12 14:13
STM32 产品唯一身份标识寄存器(96位) 闪存容量寄存器
产品唯一的身份标识非常适合: ● 用来作为序列号(例如USB字符序列号或者其他的终端应用) ● 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性。 ● 用来激活带安全机制的自举过程 96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。用户在何种情况下,都不能修改这个身份标识。 这个96位的产品唯一身份标识,按照用户不同的用法,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。 un=(*( u16 *)0x1FFFF7E0); //闪存容量寄存器 printf( The Flash size: %d KB\r\n
[单片机]
STM32的GPIO输入输出模式配置
最近在看数据手册的时候,发现STM32的GPIO输入输出模式的配置种类有8种之多(输入和输入各4种): (1)GPIO_Mode_AIN模拟输入 (2)GPIO_Mode_IN_FLOATING浮空输入 (3)GPIO_Mode_IPD下拉输入 (4)GPIO_Mode_IPU上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out_PP推挽输出 (7)GPIO_Mode_AF_OD复用开漏输出 (8)GPIO_Mode_AF_PP复用推挽输出 我们平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但对于各种模式下IO口的内部电路和典型应用,STM32的数据手册中也未曾做过详细的说明和归纳
[单片机]
STM32中 关于液晶字符 表示字节数的计算规律
PCtolcd2002提字库的字节计算方法 原子程序里有字库字节的计算公式,如下 u8 csize=(size/8+((size%8)?1:0))*(size/2); 在使用PCtolcd2002字库提取软件提取字库时,是如图 从第一列开始向下每取8个点作为一个字节,最后向下不足8个点就补满作为一个字节,所以这个可以通过(size/8+((size%8)?1:0))计算出来表示一列需要的字节数,由于原子的提取的字库都是宽x2=高,如图 则宽度就是列数,是高的一半(size/2);则列字节数x列数=一个字符所占用的字节数。 可以改动公式为u8 csize=(size/8+((size%8)?1:0))*列数,这样可以适用于所有大
[单片机]
STM32定时器的几种用法
一、常用的定时功能 (1)基本、通用、高级定时器都有最基本的定时功能,定时功能用到的函数如下: HAL_ TI M_Base_Init 初始化定时,包括分频、 预装值等。 HAL_TIM_ConfigClockSource 选择定时器的 时钟 源 HAL_TIM_Base_Start_IT 开始定时器 HAL_TIM_PeriodElapsedCallb ac k 超时后的回调函数 (2)Cubemx的配置,不管什么定时器,都是这个配置,注意开启中断,计算好最终的定时器时钟 (3)代码片段 1 void MX_TIM12_Init(void) 2 { 3 TIM_ClockConfigTypeDef sClo
[单片机]
关于STM32中GPIO的8种工作模式
1 综述 I/O口是单片机中非常常用的外设,STM32的I/O口有8种状态,虽然一直在使用过程中没有遇到什么问题,但是一直都不是很清楚,因此这里做一个总结(实际上这里的概念也是和STM8等其他单片机,理解了这8中状态,也就基本上理解了大部分I/O口)。 2 庐山真面目 我们在库文件中的 stm32f10x_gpio.h 中可以看到如下代码: typedefenum { GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, GPIO_Mode_Out_OD = 0x14
[单片机]
stm32时钟初始化分析
之前在系统应用中都是直接用的void SystemInit (void)函数进行系统时钟的初始化,从来没有考虑怎样进行时钟初始化的细节,但是突然硬件时钟无法起振了,所以才考虑利用系统内部,stm32内部提供了一个8M的内部时钟,不是很准确,但是可以用。如果还是按照调用系统时钟的方法,程序运行起来会很慢,因为SystemInit函数运行之后如果硬件晶振无法启动,就是自动切换到HSI时钟启动,所以只能用8M的时钟,不能用PLL进行倍频。在网上找到一串内部晶振初始化的程序,先贴上。 void RCC_Configuration(void) { RCC_DeInit(); RCC_HSICmd(ENABLE); while(
[单片机]
STM32助你轻松解码数字电源设计
如果把处理器和传感器分别比作是电子设备的“大脑”和“五官”,那么电源管理就是电子设备的“心脏”,其重要性不言而喻。 物联网时代,功能越来越强大的服务器、通信设备等产品推动了半导体工艺技术不断升级,体积小、性能强大的芯片要求电源管理IC能提供更智能的控制环路、更快速的动态响应、更高的电压反馈精度以及更简化的外围电路布局设计。 面对这些要求,拥有集成度高、快速响应、设计灵活、可控性强等优势的数字电源技术备受青睐。 如何定义数字电源? 数字电源,以数字信号处理器(DSP)或微控制器(MCU)为核心,将数字电源驱动器、PWM控制器等作为控制对象,能实现控制、管理和监测功能的电源产品。它是通过设定开关电源的内部参数来改变其外特性
[单片机]
STM32的看门狗使用方法
简介:stm32自带两个看门狗模块,独立看门狗IWDG和窗口看门狗WWDG。主要作用是——可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。 具体的实现步骤:开启看门狗,设置减计数的初始值,当计数值达到超时值时,产生MCU复位,此时本来运行的程序终止重新启动单片机(发生了故障)。在使用了看门狗之后,在正常运行的程序中加入喂狗的程序,即采用定时器的方式每隔一段时间进行一次喂狗重置计数装载值,这样,只要程序正常运行,没有出现故障或软件错误,就会不断的定时喂狗,从而不会使计数值达到超时值产生复位。 独立看门狗IWDG: IWDG主要性能 ●自由运行的递减
[单片机]