关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
2年前关闭。
Improve this question
这个话题很直接,我承认我在谷歌上找不到太多东西。
最近我开始在 STM32 上编码,对于一个来自 PC 相关应用程序的人来说,设置所有时钟是相当新的。
我想知道为什么开发人员要放弃/避免最大时钟以及在哪种情况下?
说一个微 Controller 可以工作在168Mhz,我为什么要选择84Mhz?
主要是和功耗有关吗?还有其他原因吗?
为什么 STM32 团队(我猜还有微芯片)要费心在 STM32CubeMX 上设置一个非常好的 UI 来选择不同的组合?
如果我可以达到更高的工作频率,为什么我应该直接使用外部振荡器而不是 PLL 路径?
最佳答案
Is it mainly related to power consumption?
是的,主要是。更低的频率意味着更低的消耗。
也可以通过快速完成工作,然后将cpu置于休眠状态来节省电量,从而提高平均功耗,但电源可能不喜欢可变负载,并且准确计时会比较困难。
Are there any other reason?
是的。某些外设在某些频率以上无法工作。一个例子:STM32F429 内核可以运行在 180 MHz,但是没有办法为 USB 生成 48 MHz。为了使用 USB,内核必须以 168 MHz 运行。
Why should i use an external oscillator directly rather than the PLL path if i can achieve higher working frequency?
外部振荡器的精度比内部振荡器高得多,从待机状态唤醒时,PLL 可能需要很长时间才能稳定下来。这取决于应用程序的要求。
关于microcontroller - 为什么人们不会只使用微 Controller 中的最大可用时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200485/