历史上的今天
今天是:2024年10月18日(星期五)
2021年10月18日 | stm32时钟树以及修改系统时钟频率
2021-10-18 来源:eefocus
前言:在学51的时候我们知道单片机想要工作必须要有时钟,在stm32中,外部时钟源不是必须的,因为内部就有时钟源,因此我们需要了解stm32的时钟树以方便以后我们设置自己所需要的时钟频率
时钟树
解读
1.首先我们找到最重要的系统时钟:

他的最高频率为168MHZ,他可以由三个提供,一个是HSI(内部高速时钟源,h=high,i=internal),可以在主图中找到这个HSI RC,还有一个是HSE(外部高速时钟源,e=external),最后一个是PLLCLK(pll为锁相环提供,也可以在主图中找到)。。但系统时钟主要还是由PLLCLK提供
注意:

是指这个东西可以由三个其中之一提供,而不是由三个组成。
2.既然系统时钟主要是由PLLCLK提供,那PLLCLK是怎么产生的呢?我们往前看,可知PLLCLK是由锁相环产生。那锁相环的输入是什么?继续往前看可知是由外部的高速时钟源,而外部时钟源是接在osc_out osc_in上,osc_out osc_in对应了stm32的两个针脚

所以到这里我们看图应该知道,当外部提供的的频率一定时,需要改变M N这些倍频分频的系数来实现改变系统时钟的频率
补充
1.
我们可以从图中看到:

这两个对应了芯片的两个管脚,他们是用来接外设时给外设提供时钟频率的。即用系统内部的时钟
2.当使用某一个外设时,一定要打开他的时钟使能。因为在总图中我们可以看到最后每一个出口处都有一个使能开关。。
史海拾趣
|
遥控器用的红外LED,因为红外LED发出的光不完全是红外光,也包含部分的可见光(红色)成分,所以肉眼能看到少许光。遥控器使用的LED,一般发射角度是30度左右,用户即使没有完全对准目标,也能有效操作。在没有外界红外线干扰的时候,遥控距离可以 ...… 查看全部问答> |
|
在wince 6.0中我有一个客户端程序,先后两次调用InitializeSecurityContext用于和google服务器端进行安全认证,第一次调用返回的是SEC_I_CONTINUE_NEEDED,第二次返回的是SEC_E_WRONG_PRINCIPAL,请问怎么解决啊?是不是和证书有关系?相同程序在wi ...… 查看全部问答> |
|
各位有需要电子元件的请和我联系,库存商品优惠啦!:D 小店欢迎您的光临 石家庄傲尔科技有限公司是一家专注于国外中小电子工程分包商,经过多年的发展,我公司与国际大的元件供应商如MOUSER, DIGIKEY建立了稳定的合作。 我们的优势:1. 保证 ...… 查看全部问答> |
|
void main(){ init_serialcom(); //步进电机不能有这个函数,这是一个初始化串口的函数, ATE0(); //步进电机也不能有这个函数,这是个向串口发送AT指令的函数。 为什么去掉这前两个函 ...… 查看全部问答> |
|
u8 sd_raw_get_info(struct sd_raw_info* info)中struct怎么理解 u8 sd_raw_get_info(struct sd_raw_info* info) { …… } 这个子程序怎么用啊,像u8 mmcWrite(u32 sector, u8* buffer)这种,我在主程序中只要定义unsigned char SD_Write1[]={\"0123456789\"}; 就可以用了mmcWrite(SD_Write1); 但是这个定义 ...… 查看全部问答> |
|
SD24的SD24CCTLx寄存器 SD24GRP 位 SD24_A group. Groups SD24_A channel with next higher channel. Not used for the last channel. 如何使用该位?… 查看全部问答> |






