stm32怎么配置72M主频
时间: 2024-10-26 16:01:20 浏览: 40
在STM32系列微控制器上配置72MHz的主频通常需要以下几个步骤:
1. **系统时钟源选择**:首先,你需要确定你的STM32型号支持哪种时钟源可以提供72MHz。一般来说,大多数STM32通过HSI(高速内部振荡器)或HSE(外部高速晶体振荡器)作为基础时钟。
2. **启动HSI或HSE**:如果你打算从HSI开始,你需要确保HSI震荡器的工作稳定,并设置相应的寄存器使其达到最高频率。对于HSE,确保外部晶振接好并启用HSI分频器。
3. **配置SYSCLK(系统时钟)**:
- 对于HSI,启用HSI作为系统时钟源,如在`RCC_OscInitTypeDef`结构中设置`RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI`,然后调用`HAL_RCC_OscConfig(&RCC_OscInitStruct)`。
- 对于HSE,首先配置HSE,然后通过PLL(锁相环路)将它倍增到所需的频率。配置 PLL 时,设置`RCC_PLLInitTypeDef`结构,例如使用`RCC_PLLSource_HSE`, `RCC_PLL_M = 8`, `RCC_PLL_N = 336`等,然后调用`HAL_RCC_PLLConfig(&RCC_PLLInitStruct)`。接着,设置`RCC_PLLCmd`为`ENABLE`来激活。
4. **设置AHB/APBx时钟预分频**:
- 使用`HAL_RCC_ClockConfig(&RCC_OscInitTypeDef, FLASH_LATENCY_x)`函数,其中`FLASH_LATENCY_x`表示AHB总线的等待周期。为了得到72MHz,找到合适的预分频系数(比如`RCC_SYSCLK_DIV1`),使得`SysClock Frequency = HSE / PLL factor * AHB PreDivision`等于72000000 Hz。
5. **验证配置**:
最后,使用`HAL_RCC_GetSystemClockFreq()`检查实际的系统时钟频率是否为72MHz。
阅读全文