GD32F107RTC应用问题

[复制链接]
775|4
 楼主| wenfen 发表于 2019-12-19 23:18 | 显示全部楼层 |阅读模式
各位大神,我在用GD32F107VC的RTC时,使用LSE做时钟源,但是LSE一直不ready,下面是RTC配置(例程),求助~~~~,不知道问题在哪。
    /* Enable PWR and BKP clocks */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_PWR | RCC_APB1PERIPH_BKP, ENABLE);
    /* Allow access to BKP Domain */
    PWR_BackupAccess_Enable(ENABLE);
    /* Reset Backup Domain */
    BKP_DeInit();
    /* Enable LSE */
    RCC_LSEConfig(RCC_LSE_EN);
    /* Wait till LSE is ready */
    while (RCC_GetBitState(RCC_FLAG_LSESTB) == RESET)
    {
    }
    /* Select LSE as RTC Clock Source */
    RCC_RTCCLKConfig(RCC_RTCCLKSOURCE_LSE);  
    /* Enable RTC Clock */
    RCC_RTCCLK_Enable(ENABLE);
    /* Wait for RTC registers synchronization */
    RTC_WaitRSF();
    /* Wait until last write operation on RTC registers has finished */
    RTC_WaitLWOFF();
    /* Enable the RTC Second */
    RTC_INT_Enable(RTC_INT_SF, ENABLE);
    /* Wait until last write operation on RTC registers has finished */
    RTC_WaitLWOFF();
    /* Set RTC prescaler: set RTC period to 1sec */
    RTC_SetPrescaler(32767);
    /* Wait until last write operation on RTC registers has finished */
    RTC_WaitLWOFF();
 楼主| wenfen 发表于 2019-12-19 23:24 | 显示全部楼层
我用GD32F107的测试板测试的,程序一直卡在:
    while (RCC_GetBitState(RCC_FLAG_LSESTB) == RESET)
    {
    }
    我也不知道为啥,怀疑人生了~~~~
chenho 发表于 2019-12-19 23:27 | 显示全部楼层
LSE使用的多大的负载电容?
 楼主| wenfen 发表于 2019-12-19 23:31 | 显示全部楼层
用的,10p的。刚才找到原因了,晶振不行,换了就好了,整个人都不好了~~~~~~
xdqfc 发表于 2019-12-20 10:27 | 显示全部楼层
经历小挫折是好事,应该有成功的喜悦,不应该感觉人都不好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

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