一切寄存器都需求时钟才干装备吧,寄存器是由D触发器组成的,只要送来了时钟,触发器才干被改写值。
任何MCU的任何外设都需求有时钟,8051也是如此;STM32为了让用户更好地把握功耗,对每个外设的时钟都设置了开关,让用户能够精确地操控,封闭不需求的设备,到达节约供电的意图。
51单片机不必装备IO时钟,仅仅由于默许运用同一个时钟,这样是便利,可是这样的话功耗就下降不了。
例如,某个功用不需求,可是它仍是一向运转。
stm32需求装备时钟,就能够把不需求那些功用的功耗去掉。
当你想封闭某个IO的时分,封闭它想对应的时钟使能就是了,不过在51里边,在运用IO的时分是没有设置IO的时钟的,还有在STM32中,有外部和内部时钟之分,关于时钟等好好研讨
ARM的芯片都是这样,外设一般都是给了时钟后,才干设置它的寄存器(即才干运用这个外设)。STM32、LPC1XXX等等都是这样。
这么做的意图是为了省电,运用了所谓时钟门控的技能。
这也归于电路里同步电路的领域:同步电路总是需求1个时钟。