时钟树:
首先是CubeMX配置:
先到RCC,然后外部高速时钟源(HSE)设置为晶振(Crystal/Ceramic Resonator):

随后来到时钟设置(Clock Configuration),将HCLK修改为最高频率72MHz(不同芯片型号可能不同),敲下回车即可:

时钟信号:



可以看到与门 和异或门 连接着寄存器的运行,而寄存器是我们程序与电路之间的桥梁,我们通过读取寄存器获取电路的状态,通过设置寄存器控制电路的运行,所以与门 和异或门 的输入存入到寄存器后就可以被程序读到,进而影响程序的运行,也能作为其他电路的输入,影响到其他电路的运行。
假设B从高电平转变为低电平,因为光的传播的电信号,我们大可忽略不计其传播延时,整个B线在瞬间就变为了低电平 ,当逻辑管内部的运算涉及了MOS管的充放电过程,这对于光速是不够的,所以就会造成与门输出的信号不能及时从高电平转变为低电平 ,这就会导致数据寄存器在这段时间的输出变为了高电平,等与门完成了运算,输出低电平,寄存器才会变为低电平
所以我们怎么避免这种情况呢?


通过这两个图我们可以知道在异或门 与寄存器之间放置了一个装置,边沿触发器 ,该装置下端有一个控制端,当控制端出现一个低电平变为高电平的上升沿 时,它才会将输出端的变为输入端的电平信号 ,所以有了边沿触发器,我们为其接入了一个一定频率的方波信号,方波的一个周期内,门电路执行运算产生的副作用都不会影响寄存器的值,而这个方波信号就是时钟信号
上面是微观角度,下面是宏观:

这些都需要一个精确的时钟脉冲信号,告知这些外设的时间流逝
时钟树:

可以看到内部高速时钟(HSI)和外部高速时钟(HSE)都是8MHz,但HSE的脉冲精度遥遥领先!
PLL锁相环就是倍频器