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


总结

未完待续

相关推荐
嵌新程2 小时前
day03(单片机高级)RTOS
stm32·单片机·嵌入式硬件·freertos·rtos·u575
Lin2012302 小时前
STM32 Keil5 attribute 关键字的用法
stm32·单片机·嵌入式硬件
电工小王(全国可飞)3 小时前
STM32 RAM在Memory Map中被分为3个区域
stm32·单片机·嵌入式硬件
maxiumII3 小时前
Diving into the STM32 HAL-----DAC笔记
笔记·stm32·嵌入式硬件
时光の尘6 小时前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
日晨难再9 小时前
嵌入式:STM32的启动(Startup)文件解析
stm32·单片机·嵌入式硬件
PegasusYu20 小时前
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
stm32·教程·rtos·stm32cubeide·free-rtos·eventgroup·时间标志组
文弱书生6561 天前
输出比较简介
stm32
黑客呀1 天前
[系统安全]Rootkit基础
stm32·单片机·系统安全
小A1591 天前
STM32完全学习——使用SysTick精确延时(阻塞式)
stm32·嵌入式硬件·学习