在想要作一个简单的电子时钟+闹钟的时候,手上刚好有一个买来的STM32的最小系统板,就考虑使用RTC功能完成。 硬件:淘宝购入STM32f103c8t6最小系统板,大概长这样
这个板子虽然没有备份区单独的电池供电,但是也是有低速外部晶振的,就是LED旁边黑黑的那个小方块,至于STM32为什么要设计两个晶振大部分的说法是一个高速晶振给PLL倍频后提供给CPU运行,一个低频晶振转门供RTC精准计时使用,**那么再多问一句,就是为什么要单独使用一个晶振给RTC计时用,用CPU主频分出来的时钟给RTC使用不可以么?**当然是可以的,我个人的理解32.768KHz晶振存在的意义大概有两点:第一是跟电源低功耗的设计有关,当MCU全功率运行时,所有时钟振荡器都是工作的,但为了在一些场景下实现低功耗,MCU设计了低功耗模式,此时会关闭大部分外设和高速振荡器来降低功耗,这时候使用一个单独的晶振单独为后备区域供电让在低功耗模式下也可以计时成为可能;第二个原因就是低速晶振的精度会更高一些(传言,没有仔细探究,同为无源晶振为什么32.768更精准还是因为不倍频所以更容易走时精准也未知,感兴趣的胖友可以探究交流,)
|