【【萌新的STM32学习-8】】

萌新的STM32学习-8

STM32CubeMX 是由 ST 公司开发的图形化代码自动生成工具,能够快速生成初始化代码,
如配置 GPIO,时钟树,中间件等,使用户专注于业务代码的开发。现在 ST 主推 HAL 库代码,
经典的标准外设库已经停止维护了,新产品也只提供 HAL 库的代码,因此,我们学习 HAL 库
是更加有优势的,由于 HAL 库具有低耦合、通用、抽象了硬件层,使得开发者无需太过关注硬
件驱动的实现,使得开发更加的简单快速,更容易维护,因此被越来越多的产品所使用。

通过上一步安装固件库后,我们就可以使用 STM32CubeMX 配置工程,步骤如下:

  1. 工程初步建立
  2. HSE 和 LSE 时钟源设置
  3. 时钟系统(时钟树)配置
  4. GPIO 功能引脚配置
  5. 配置 Debug 选项
  6. 生成工程源码
  7. 用户程序

在这里插入图片描述
这左边是外部时钟晶振
这右边这块是(外部)输入源时钟信号
在这里插入图片描述
这两个是内部时钟信号源

2 个外部时钟源:⚫ 高速外部振荡器 HSE (High Speed External Clock signal)
外接石英/陶瓷谐振器,频率为 4MHz~16MHz。本开发板使用的是 8MHz。
⚫ 低速外部振荡器 LSE (Low Speed External Clock signal)
外接 32.768kHz 石英晶体,主要作用于 RTC 的时钟源。
(2)2 个内部时钟源:
⚫ 高速内部振荡器 HSI(High Speed Internal Clock signal)
由内部 RC 振荡器产生,频率为 8MHz。
⚫ 低速内部振荡器 LSI(Low Speed Internal Clock signal)
由内部 RC 振荡器产生,频率为 40kHz,可作为独立看门狗的时钟源。
芯片上电时默认由内部的 HSI 时钟启动,如果用户进行了硬件和软件的配置,芯片才会根
据用户配置调试尝试切换到对应的外部时钟源,所以同时了解这几个时钟源信号还是很有必要
的。如何设置时钟的方法我们会在后文提到。

在正点原子一般HSE接的是8MHz
因为我们从上面了解到经过HSE 以及HSI 才能达到 内部的频率 SYSCLK 是72MHz 但是我们怎样才能达到这个频率呢 我们需要经过一个锁相环PLL达到72MHz 倍乘
在这里插入图片描述

因为HSI是8MHz 进来先经过了一个二分频就变成了4 HSE有2分频 和1分频 用内部4乘16=64 也满足不了所需要的72MHz 所以基本上我们用的是外部 的HSE 8x9=72
经过SYSCLK 之后来到了HCLK HCLK其实就是我们的AHB高性能总线 从SYSCLK过来要经过一个分频
来到HCLK之后 会经过2个桥 一个来到APB1 另一个来到APB2
APB1 最大是36M APB2 最大是72M
除了AHB总线之外那么HCLK总线上还会挂载一些外设 和 内核
继而会从APB1 和APB2 各引出一个外设

上面讲述的是高速的部分 接下来叙述一下低速的部分
LSI 与 LSE
LSI是40MHz LSE是 32.768MHz

LSI可以作为IWDG 和 RTC的时钟源
LSE 只作为RTC的时钟源

一些简单的注意事项
由于外部的时钟源振荡器用的是晶体/陶瓷结构 而内部一般来说用的是RC 所以 我们大多会选用外部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值