【STM32】HAL库开发基础


一、初识HAL固件库

不同芯片厂商生产的基于Cortex系列芯片内核相同但外设不同,ARM与芯片厂商建立了CMSIS标准(Cortex MicroController Software Interface Standard,即Cortex 微控制器软件接口标准)。ARM公司实现内核函数层,芯片公式实现设备外设访问层,实现硬件层与操作系统层之间的抽象层,屏蔽了硬件差异。

ST公司通过HAL库对所有STM32芯片的所有寄存器控制操作进行封装,省去了我们亲自完成函数库的时间,便于我们控制外设和软件移植。

二、STM32CubeMX新建工程

  1. 选择CPU型号

  2. 确定时钟源
    打开RCC选项,选择 Crystal/Ceramic Resonator,即使用外部晶振作为 HSE 的时钟源。

  3. 配置IO口
    选择需要的IO口

  4. 配置系统时钟( Clock Configuration)

  5. 配置IO具体属性

  6. 配置工程属性

  7. 生成代码

  8. 配置下载调试工具
    在这里插入图片描述

  9. 完善用户功能

  10. 下载验证

三、RCC——使用HSE/HSI配置时钟

3.1 RCC的一般配置

设置系统时钟 SYSCLK=72M、设置 AHB 分频因子( HCLK =72M)、设置 APB2分频因子(PCLK2 =72M)、设置 APB1 分频因子( PCLK1 =36M)、设置各个外设的分频因子(PLLCLK = 72M); 控制 AHB、APB2 和 APB1 这三条总线时钟的开启、控制每个外设的时钟的开启。

3.2 系统时钟

3.2.1 HSE高速外部时钟信号

由外部晶振提供时钟信号。
当PLL来源确定时,HSE可以不分频。

3.2.2 PLL时钟源

PLL时钟来源有两种:HSE或HSI/2(HSI是内部高速时钟信号,但频率会随温度和环境改变)。
一般使用HSE作为PLL时钟源。

3.2.3 PLLCLK

PLLCLK是PLL的时钟,通过设置PLL的倍频因子,可以对PLL的时钟来源进行倍频。
ST官方推荐使用72M稳定运行时钟,超频最高为128M。

3.2.4 SYSCLK

SYSCLK是系统时钟,来源有三种:HSI、PLLCLK、HSE。
一般使用SYSCLK=PLLCLK=72M。

3.2.5 HCLK

HCLK是系统时钟SYSCLK经过AHB分频后的APB总线时钟。
片上大部分外设的时钟都是通过HCLK分频得到的。
一般使用HCLK=SYSCLK=72M。

3.3.6 PCLK2

PCLK2是HCLK经过高速APB2分频后的APB2总线时钟。
片上的高速外设挂在这条总线上,比如GPIO、UART1、SPI1等等。
一般使用PCLK2=HCLK=72M。

3.3.7 PCLK1

PCLK1是HCLK经过低速APB分频后的APB1总线时钟。
片上的低速外设挂在这条总线上,比如UART2/3/4/5、SPI2/3、IIC1/2等等。
一般使用PCLK1=HCLK/2=36M。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值