打印

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

[复制链接]
1347|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yelong98|  楼主 | 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呢?

使用特权

评论回复
沙发
castle520| | 2020-11-17 21:44 | 只看该作者
你好,GD32的时钟配置在system_gd32e10x.c文件里面

如果使用内部8M晶振,或是外部8M晶振的话,直接修改这里的宏定义就可以了,如图就是使用外部8M晶振配置120M主频

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

使用特权

评论回复
板凳
yelong98|  楼主 | 2020-11-17 22:10 | 只看该作者
castle520 发表于 2020-11-17 21:44
你好,GD32的时钟配置在system_gd32e10x.c文件里面

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

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

使用特权

评论回复
地板
sonicll| | 2020-11-18 08:55 | 只看该作者
MCU启动后不是直接执行main函数的,先执行的是startup.s,这个文件调用了SystemInit函数,这里配置了系统时钟

使用特权

评论回复
5
答案很长吧| | 2020-11-18 09:51 | 只看该作者
没有太看明白代码,可以解释一下吗?

使用特权

评论回复
6
guanjiaer| | 2020-12-4 12:23 | 只看该作者
本身支持的最大时钟频率是多少啊

使用特权

评论回复
7
heimaojingzhang| | 2020-12-4 12:25 | 只看该作者
没有配置 那就是使用的默认的配置

使用特权

评论回复
8
keaibukelian| | 2020-12-4 12:27 | 只看该作者
楼主怎么知道是120M的呢

使用特权

评论回复
9
labasi| | 2020-12-4 12:29 | 只看该作者
可以在单步运行的时候看看寄存器的状态进行判断

使用特权

评论回复
10
paotangsan| | 2020-12-4 12:31 | 只看该作者
可以看一下寄存上 默认的是什么状态 算一下就知道了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

108

帖子

0

粉丝