【STM32 HAL库】CubeMX新建工程与前置配置
前言
本文用以总结个人学习内容 防止遗忘 文中错误恳请大家指正 共同进步
选择芯片型号 新建工程
页面概览
基础配置
SYS Debug调试器配置
RCC 时钟配置
PS: 此部分对新建工程无影响,可跳过
Q:为什么我们一般只配置高速时钟为晶振而低速时钟不使能呢?
A:
1 外设可以分为高速外设和低速外设,高速外设通常需要更高的时钟频率,对时钟的精度与稳定性要求更高,所以他们一般由高速时钟来提供更快更稳定的“心跳”,低速外设同理。
2. 所以高低速时钟的区分,可以为不同时钟性能需求的外设,提供不同的时钟信号,这样可以使得资源合理分配、效率提升
3. 但由于我们的工程复杂性较低,硬件资源相对充裕,不用过多考虑资源浪费的情况,所以可以让所有外设均使用高速时钟源作为他们的“心跳”,无需担心资源不足的情况
【类比说人话】:以打仗为例,高速时钟类比为好枪,低速时钟类比为破枪,不同外设类比为战力水平不同的兵。当枪械资源有限的时候,为使分配更合理,应该强兵配好枪,差兵配破枪。但当资源充裕的时候,不论人战力水平,均配好枪即可(反正好枪用不完
时钟树配置
PS: 此部分对新建工程无影响,可跳过
Q:为什么一般配置高速时钟频率为72MHz
A:72MHz频率较高,能满足大部分外设需求,且能保持较低功耗,而且此频率是一个标准的时钟配置,很多示例代码与教程都是基于此频率。
工程配置
PS:工程管理的配置根据个人喜好和需求即可,没有标准答案
最后,GENERATE CODE 生成工程代码!
参考资料
- https://blog.csdn.net/qq_41990294/article/details/124619398?spm=1001.2014.3001.5506
- https://blog.csdn.net/as480133937/article/details/98947162