stm32f103rct6配置72m
时间: 2024-08-15 19:03:25 浏览: 52
STM32F103RCT6是一款基于Cortex-M3内核的微控制器,它通常运行于较高的频率上,如72MHz(兆赫兹)。配置72MHz的工作频率需要以下几个步骤:
1. **时钟源选择**:首先,你需要启用HSE(高频石英振荡器)作为系统时钟源,因为它是提供最高频率的基础。在STM32F103的初始化配置中,这通常是通过设置PWR寄存器的CR1位来完成。
```c
RCC->CR1 |= RCC_CR1_HSION; // 启用HSI
```
然后,等待HSI稳定后再切换到HSITRIM模式,调整HSI分频系数以接近72MHz,具体方法查看官方手册。
2. **时钟树配置**:配置CLKssel寄存器来选择HSE作为SYSCLK(系统时钟),并通过PLL(锁相环路)将HSI倍频至所需的频率,例如:
```c
RCC->CFGR &= ~RCC_CFGR_SW; // 清除当前时钟源选择
RCC->CFGR |= RCC_CFGR_PLLXTPRE(RCC_PLLSource_HSI); // 设置PLLMUL为2用于72MHz
RCC->CFGR |= RCC_CFGR_PLLM(9) | RCC_CFGR_PLLN(168); // 根据公式计算其他值 (72MHz = HSI * PLLM / PLLN)
RCC->CR2 |= RCC_CR2_PLLON; // 开启PLL
while((RCC->CR2 & RCC_CR2_PLLRDY) == 0); // 等待PLL锁定
RCC->CFGR |= RCC_CFGR_SW_PLL; // 设置SYSCLK源为PLL
```
3. **时钟分区配置**:配置APB1和APB2时钟的速度,以便各个外设能获得正确的时钟速度。
4. **验证设置**:使用`HAL_RCC_GetSysClockFreq()`函数检查当前的系统时钟是否达到了72MHz。
阅读全文