1.关于时钟系统的配置

本文深入探讨了STM32微控制器的时钟系统配置,包括如何设置寄存器来调整系统时钟源、时钟频率以及外设时钟。通过理解这些配置,可以有效地优化微控制器的性能并降低功耗。
摘要由CSDN通过智能技术生成
系统时钟是很重要的一部分 作为最小系统的一部分(时钟 复位 电源)开始学习单片机前是必须了解的一个环节
此内容主要针对于想更改任意时钟的情况,不限定死时钟一定要是168Mhz频率,so?
写寄存器至少要包含三个重要的系统文件
1.启动文件  startup_stm32f407xx.s
2 系统文件  system_stm32f4xx.c(.h文件就是关于.c的一些声明)
3.头文件    stm32f4xx.h

简单关于这三个文件的介绍
1.启动文件写的都是汇编,简单看下,刚开始大致就是一些堆栈之类的初始化,
  分配空间地址之类的,然后调用Systeminit()函数,调用之前首先得进入
  system_stm32f4xx.c 函数,也就是到目前为止,这两个文件都必须需要
2.关于system_stm32f4xx.c (V2.6.1) 这个文件,最重要的东西都在这里面,而且注释写的也很清楚,
  接下来简单谈下这个文件
  开头是条件编译 到底是 HSE还是 HSI然后是两个函数 Systeminit()函数和SystemCoreClockUpdate()函数
  还有一个SystemCoreClock变量,SystemCoreClock这个变量就是系统时钟,也就是说下面给这个变量赋值就相当于
  配置系统时钟,然后看第一个比较重要的函数。Systeminit()这个函数就相当于Deinit配置时钟需要用到的
  大部分寄存器,但是有一点,这个函数开头是选择了HSI的也就是说,系统时钟默认是HSI->16Mhz,所以如果你
  想自己去配置时钟的话,就不需要在去初始化了,因为调用了启动文件,然后启动文件会自动调用这个函数,
  然后就是另一个函数了,看注释和函数大概能看懂是什么意思,配置PLL,但是得看前提,tmp变量的来源是
   tmp = RCC->CFGR & RCC_CFGR_SWS; 这两个寄存器,也就是说还得重新配置RCC寄存器。
3.这个头文件里面都是些寄存器,如果不包含,第二个文件会报错,因为第二个文件调用了此头文件里面的一些东西,
  然后就是,没了,如果需要找寄存器,直接来里面找就行了。

总之就是如果你想配置时钟,只需要自己再写个函数就行了,只需按以下步骤来
1.初始化
2.开启HSE
3.等待HSE稳定
4.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值