搜索

GD32E103怎么使用外部晶振配置到时钟120M?

[复制链接]
78|4
 楼主 | 2020-11-17 20:47 | 显示全部楼层 |阅读模式
如题,下载了官方的demo,进入main函数没看见有初始化配置时钟的部分,但是却能打印出系统时钟是120Mhz,有摸索过的老铁,如果有空劳您宝贵时间给解答一二
    /* configure systick */
    systick_config();

    /* initilize the LEDs, USART and key */
    /* enable the led clock */
    rcu_periph_clock_enable(RCU_GPIOB);
    /* configure led GPIO port */
    gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_12);

    gpio_bit_write(GPIOB,GPIO_PIN_12,SET);
       
    gd_eval_com_init(EVAL_COM0);
    /* print out the clock frequency of system, AHB, APB1 and APB2 */
    printf("\r\nCK_SYS is %d", rcu_clock_freq_get(CK_SYS));
    printf("\r\nCK_AHB is %d", rcu_clock_freq_get(CK_AHB));
    printf("\r\nCK_APB1 is %d", rcu_clock_freq_get(CK_APB1));
    printf("\r\nCK_APB2 is %d", rcu_clock_freq_get(CK_APB2));
main函数在这了,这里打印的信息看到时钟是120Mhz,但是main函数没有任何配置时钟的代码,怎么就直接配置到了120M呢?

使用特权

评论回复
| 2020-11-17 21:44 | 显示全部楼层
你好,GD32的时钟配置在system_gd32e10x.c文件里面
326d93be3c6a238c3bfeb2635f298fe.png
如果使用内部8M晶振,或是外部8M晶振的话,直接修改这里的宏定义就可以了,如图就是使用外部8M晶振配置120M主频

如果是使用其他频率的外部晶振则需要根据时钟树进行配置了,这里有需要的话可以联系我

使用特权

评论回复
 楼主 | 2020-11-17 22:10 | 显示全部楼层
castle520 发表于 2020-11-17 21:44
你好,GD32的时钟配置在system_gd32e10x.c文件里面

如果使用内部8M晶振,或是外部8M晶振的话,直接修改这 ...

太感谢了,就是这里配置的

使用特权

评论回复
| 2020-11-18 08:55 | 显示全部楼层
MCU启动后不是直接执行main函数的,先执行的是startup.s,这个文件调用了SystemInit函数,这里配置了系统时钟

使用特权

评论回复
| 2020-11-18 09:51 | 显示全部楼层
没有太看明白代码,可以解释一下吗?

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表