GD32E23G6主时钟初期化失败问题

[复制链接]
 楼主| zewell 发表于 2022-2-6 13:48 | 显示全部楼层 |阅读模式

环境是KEIL5,使用的ST link
不管是DEMO程序还是自写程序,主时钟初期化一直失败,更换主频设定也不行。停在下记画圈的地方。
想问问可能是哪里的问题

 楼主| zewell 发表于 2022-2-6 13:51 | 显示全部楼层

GD32E23G6主时钟初期化失败问题

不好意思图传不上来,停在下记红色位置
static void system_clock_8m_hxtal(void)
{
    uint32_t timeout = 0U;
    uint32_t stab_flag = 0U;

    /* enable HXTAL */
    RCU_CTL0 |= RCU_CTL0_HXTALEN;

    /* wait until HXTAL is stable or the startup time is longer than HXTAL_STARTUP_TIMEOUT */
    do{
        timeout++;
        stab_flag = (RCU_CTL0 & RCU_CTL0_HXTALSTB);
    }
    while((0U == stab_flag) && (HXTAL_STARTUP_TIMEOUT != timeout));   
    /* if fail */
    if(0U == (RCU_CTL0 & RCU_CTL0_HXTALSTB)){
        while(1){
        }
    }

    /* HXTAL is stable */
    /* AHB = SYSCLK */
    RCU_CFG0 |= RCU_AHB_CKSYS_DIV1;
    /* APB2 = AHB */
    RCU_CFG0 |= RCU_APB2_CKAHB_DIV1;
    /* APB1 = AHB */
    RCU_CFG0 |= RCU_APB1_CKAHB_DIV1;

    /* select HXTAL as system clock */
    RCU_CFG0 &= ~RCU_CFG0_SCS;
    RCU_CFG0 |= RCU_CKSYSSRC_HXTAL;

    /* wait until HXTAL is selected as system clock */
    while(0U == (RCU_CFG0 & RCU_SCSS_HXTAL)){
    }
}
xdqfc 发表于 2022-2-7 09:56 | 显示全部楼层
定义一下内部晶振,或者自己接一下外部晶振吧。
呐咯密密 发表于 2022-2-7 10:55 | 显示全部楼层

GD32E23G6主时钟初期化失败问题

你的硬件有外部晶振吗搜索
复制

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

本版积分规则

1

主题

2

帖子

0

粉丝