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

RCC

文章目录

前言

前期疑问:1、RCC是什么意思。

2、最终配好的72M是系统时钟吗?

3、一共有哪些时钟

本文目标:将PLL时钟配置成72M

疑问解答:最终配好的时钟是PLL时钟。可以看一下时钟图就知道了。HSE或者HSI将PLL时钟配置成72M。然后由PLL时钟经过分频或者倍频给APB1或者APB2或者其他时钟。


一、背景

最近在看RCC相关教程

然后编写了代码并在protues仿真

同时计算了机器时间跟之前计算的作对比。

二、仿真计算周期

频率设置成72M的时候,t= 261.54ms - 174.56ms = 87ms

keil HSE

t = 145.6ms

keil HSI

t=145.6ms

感觉没差。

哦哦,是要设置的吧,但是设置了好像也没反应。

下面这按文章是根据时钟计算程序时间的:

https://www.baidu.com/link?url=MgZKpFqYxUzxlMYpERL-JtaJBXZTArV_FVxxsqld4cbotQ8XeJEk3OWxPls9QOxRCoZRwOPHNKV_-4eZLwR0_J-kQJIVVrjm5aj7DYUAynW\&wd=\&eqid=c578b27800d565210000000565b3e75b

2.2

2.3

三、MCO引脚输出时钟

3.1

cpp 复制代码
//MCO引脚初始化 PA8
void mco_gpio_init()
{
	GPIO_InitTypeDef GPIO_initTypeDef;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	GPIO_initTypeDef.GPIO_Pin = GPIO_Pin_8;
	GPIO_initTypeDef.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_initTypeDef.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_initTypeDef);
}

RCC引脚配置成上述,但是在protues和keil仿真器中都没有显示出波形。

最后看了这个帖子,应该是软件仿真不了。

https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread\&tid=620311


总结

未完待续

相关推荐
时光の尘1 天前
【STM32】两万字详解SD卡移植最新版本FatFs文件系统(ff16)
stm32·mcu·dma·sd·fatfs·sdio·ff16
bai5459361 天前
STM32 CubeIDE 使用串口中断模式
stm32·单片机·嵌入式硬件
fanged1 天前
STM32(4)--时钟树
stm32·单片机·嵌入式硬件
__万波__1 天前
STM32L475蜂鸣器实验
stm32·单片机·嵌入式硬件
List<String> error_P1 天前
STM32 GPIO HAL库常用函数
stm32·单片机·hal库
小痞同学1 天前
【铁头山羊STM32】HAL库 5.SPI部分
stm32·单片机·嵌入式硬件
蓬荜生灰1 天前
STM32(5)-- 新建寄存器版工程
stm32·单片机·嵌入式硬件
大神与小汪1 天前
STM32上进行Unix时间戳转换
stm32·嵌入式硬件·unix
嗯嗯=1 天前
STM32单片机学习篇1
stm32·单片机·嵌入式硬件
橙露1 天前
STM32 单片机实战:基于 HAL 库的串口通信与中断处理详解
stm32·单片机·嵌入式硬件