这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请问stm32f429如何改内部rc时钟工作?

共2条 1/1 1 跳转至

请问stm32f429如何改内部rc时钟工作?

工程师
2024-10-02 13:09:31     打赏

STM32f429标准库如何改内部rc时钟工作?




关键词: stm32f429     时钟    

助工
2024-10-02 13:09:55     打赏
2楼

要改变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时钟的工作频率。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]