查看: 8724|回复: 3

【时钟RCHF】系统时钟配置

[复制链接]

1

主题

1

帖子

25

积分

初级工程师

Rank: 1

积分
25
发表于 2021-6-4 10:18:52 | 显示全部楼层 |阅读模式
我看历程里面时钟配置函数时空的,如果我想修改系统时钟,切换为内部24M RC时钟源,有没有配置历程啊?
回复

使用道具 举报

3

主题

19

帖子

498

积分

高级工程师

Rank: 3Rank: 3

积分
498
发表于 2021-6-5 15:34:59 | 显示全部楼层
    在void SystemInit (void)这个函数中  对着手册应该是修改这个RCC->RCHFTR = RCHF8M_TRIM;你试试看
回复

使用道具 举报

13

主题

23

帖子

221

积分

高级工程师

Rank: 3Rank: 3

积分
221
发表于 2021-6-5 17:26:33 | 显示全部楼层
FL_RCC_RCHF_SetFrequency(FL_RCC_RCHF_FREQUENCY_24MHZ);
回复

使用道具 举报

1

主题

4

帖子

1385

积分

资深专家

Rank: 7Rank: 7Rank: 7

积分
1385
发表于 2021-6-9 09:21:41 | 显示全部楼层
qinlicn 发表于 2021-6-5 17:26
FL_RCC_RCHF_SetFrequency(FL_RCC_RCHF_FREQUENCY_24MHZ);

参考下面这个函数,还需要修改RCHF 调校寄存器 以获得很准的24M频率

#include "user_init.h"

void ClockInit(uint32_t clock)
{
    switch (clock)
    {
        case FL_RCC_RCHF_FREQUENCY_8MHZ:
            FL_RCC_RCHF_WriteTrimValue(RCHF8M_TRIM);
            break;
        
        case FL_RCC_RCHF_FREQUENCY_16MHZ:
            FL_RCC_RCHF_WriteTrimValue(RCHF16M_TRIM);
            break;
        
        case FL_RCC_RCHF_FREQUENCY_24MHZ:
            FL_RCC_RCHF_WriteTrimValue(RCHF24M_TRIM);
            break;
        
        default:
            FL_RCC_RCHF_WriteTrimValue(RCHF8M_TRIM);
            break;
    }
   
    FL_RCC_RCHF_SetFrequency(clock);
    FL_RCC_SetSystemClockSource(FL_RCC_SYSTEM_CLK_SOURCE_RCHF);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表