STM32基于标准库如何查看时钟主频,100%简单

基于原有的工程写入两行代码,见下图

RCC_ClocksTypeDef  get_rcc_clock;

RCC_GetClocksFreq(&get_rcc_clock);

进入我们的仿真加入断点,然后在watch1观察变量值数据,然后在计算器计算就能得出,如上图。

但是这样看的PAB1上和PAB2时钟上不一样。

### STM32标准外设库中的时钟配置 在STM32的标准外设库中,时钟配置是一个非常重要的部分。通过合理设置系统时钟可以优化性能并满足特定应用需求。 #### 1. RCC初始化函数 RCC (Reset and Clock Control) 是控制所有时钟信号的核心模块。通常会调用 `RCC_Configuration()` 函数来完成基本的时钟树设定[^1]。 ```c void RCC_Configuration(void) { /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, IOPH, IOPJ, IOPK, AFIO clocks */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG | RCC_APB2Periph_AFIO, ENABLE); } ``` 此代码片段展示了如何启用多个GPIO端口及时钟使能功能。 #### 2. 系统时钟频率调整 为了改变系统的主频,在`SystemInit()` 中修改PLL参数可实现这一点: ```c static void SystemInit(void) { /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ LL_FLASH_SetLatency(LL_FLASH_LATENCY_2); /* HSE Configuration */ LL_RCC_HSE_Enable(); while (LL_RCC_HSE_IsReady() != 1); /* PLL Initialization */ LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE, LL_RCC_PLL_MUL_9); ... } ``` 上述例子说明了如何基于外部高速振荡器(HSE) 来配置锁相环(PLL),从而达到所需的CPU运行速度[^2]。 #### 3. 使用CubeMX简化配置过程 虽然可以直接编写底层寄存器操作代码来进行详细的定制化配置,但对于大多数开发者来说更推荐使用ST官方提供的工具如STM32CubeMX来自动生成初始项目框架以及必要的初始化文件。这不仅减少了手动编码的工作量还降低了出错的可能性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值