前言
代码生成软件:STM32CubeMX
开发板:robomaster C型开发板(STM32F407IGH6)
一、时钟配置
1 芯片选择
打开STM32CubeMX,选择自己的芯片版本,这里以STM32F407IGH6为例。
2 SYS配置
在SYS中配置使用SWD调试,在Debug选择Serial Wire。
3 RCC配置
在RCC中设置HSE为Crystal/Ceramic Resonator,使用高速外部时钟。
4 时钟树配置
时钟树整体配置如下图,下边详细介绍个部分的含义。
上图中1、2、3、4分别表示低速外部时钟、低速内部时钟、高速内部时钟、高速外部时钟。
HSE(High-Speed External Clock,高速外部时钟)
由外部晶振或振荡器提供的高速时钟信号,通常频率在4MHz到26MHz之间。
通过外部引脚(HSE晶振引脚)输入,常用作系统时钟的源。
HSE(High-Speed External Clock,高速外部时钟)
由外部晶振或振荡器提供的高速时钟信号,通常频率在4MHz到26MHz之间。
通过外部引脚(HSE晶振引脚)输入,常用作系统时钟的源。
HSI(High-Speed Internal Clock,高速内部时钟)
STM32内部提供的一个固定频率的高速时钟,频率通常为16MHz。
精度较低,一般用于不需要高精度的场景,如调试或简单任务。
LSE(Low-Speed External Clock,低速外部时钟)
用于低功耗和实时操作的外部低速晶振,通常为32.768kHz。
主要用于RTC(实时时钟)模块。
LSI(Low-Speed Internal Clock,低速内部时钟)
固定频率(典型值为32kHz)的内部低速时钟。
低功耗应用中可用于唤醒或者RTC。
上图中5、6、7、8分别表示PLL_M、PLL_N、PLL_P、PLL_Q。
PLL(Phase-Locked Loop,相位锁定环路)
用于生成更高频率的系统时钟,通过输入一个基础时钟(HSE或HSI),经过倍频和分频输出。
PLL Source: PLL的输入源,可以选择HSE或HSI。
PLL_M: 输入时钟的分频系数(1到63)。
PLL_N: 倍频系数(50到432)。
PLL_P: 主系统时钟分频系数(2、4、6或8),生成系统时钟(SYSCLK)。
PLL_Q: 用于生成USB、SDIO和随机数发生器时钟。
计算公式:
FPLLCLK=(Finput×PLLN)/(PLLM×PLLP)
10为系统时钟
System Clock (SYSCLK) 系统时钟
MCU的主时钟,驱动整个芯片的核心(Cortex-M4)以及大部分外设。
SYSCLK可以由HSE、HSI或PLL输出选择。
11为用于生成USB、SDIO、随机数发生器的时钟
USB模块需要一个精确的48MHz时钟。
SDIO接口(用于SD卡通信)和随机数发生器(RNG)也依赖这一路时钟。
确保分频后的结果为48MHz,否则USB、SDIO或RNG可能无法正常工作。
也可在指定的时钟位置输入时钟频率,按下回车或者点击上方的“Resolve Clock Issues”选项,是系统自动配置相关参数。
最常用的时钟是APB时钟
STM32有两个APB时钟域:APB1(低速外设)和APB2(高速外设)。
AHB时钟通过APB预分频器(APB Prescaler)生成APB1和APB2时钟。
APB1最大频率:42MHz
APB2最大频率:84MHz
影响外设如UART、SPI、I2C、TIM等。
下图为外设在时钟总线上的挂载图。在使用相关外设时,通过此图配置相应的时钟频率。该图在MCU的数据手册中可以找到。数据手册官网可查。
配置时需注意的事项
时钟频率限制:
Cortex-M4最大时钟频率为168MHz。
注意AHB和APB频率不能超过芯片规格的限制。
时钟源优先级:
HSE通常优先于HSI。
如果使用PLL,确保PLL输入频率和输出频率在规定范围内。
备份时钟:
如果主时钟失效(如HSE晶振故障),系统可以自动切换到备用时钟(HSI)。
二、项目生成
选择Project Manager选项卡,在Project中为项目命名,然后选择项目文件夹放置的位置。之后注意选择合适的IDE。本人使用的是CLion开发环境,选择STM32CubeIDE,如果使用的是Keil开发环境选择MDK-ARM IDE。
然后在Code Generator中勾选Generate peripheral initialization as a pair of '.c/.h' files per peripheral,生成单独的.c/.h文件。然后点击GENERATE CODE。
出现下图所示对话框,说明项目生成完成
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_60217329/article/details/144063503
|