STM32f429标准库如何改内部rc时钟工作?
要改变STM32F429的内部RC时钟工作,您可以使用STM32F429标准库的函数来设置和配置系统时钟。
具体步骤如下:
1. 在STM32F429中,内部RC时钟被称为HSI(High Speed Internal)时钟。
2. 要改变HSI时钟的工作频率,您需要设置相关的寄存器和时钟分频器。
3. 首先,使用RCC_DeInit()函数将系统时钟设置为默认状态,使HSI为默认频率。
4. 然后,使用RCC_HSICmd()函数打开或关闭HSI时钟。
5. 使用RCC_PLLConfig()函数配置PLL(锁相环)时钟源和分频系数。
6. 使用RCC_PLLCmd()函数打开或关闭PLL时钟。
7. 最后,使用RCC_SYSCLKConfig()函数将系统时钟设置为所需的时钟源。
以下是一个简单的例子,说明如何将HSI时钟设置为16MHz:
```c
#include "stm32f4xx.h"
int main(void) {
// 设置系统时钟为默认状态
RCC_DeInit();
// 打开HSI时钟
RCC_HSICmd(ENABLE);
// 配置PLL时钟源和分频系数
RCC_PLLConfig(RCC_PLLSource_HSI, 16, 336, 4, 7);
// 打开PLL时钟
RCC_PLLCmd(ENABLE);
// 等待PLL时钟稳定
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// 将PLL时钟作为系统时钟
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// 等待系统时钟切换完成
while (RCC_GetSYSCLKSource() != 0x08);
while (1) {
// 其他代码
}
}
```
以上是通过设置PLL时钟将HSI时钟改为16MHz的例子,您可以根据需要修改分频系数和时钟源来调整HSI时钟的工作频率。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |