本帖最后由 风来吴山 于 2022-3-12 15:06 编辑
请问晶振用示波器看起振了,但是一直在卡rcu_osci_stab_wait函数中,请问是什么情况呢?- /* wait IRC40K stable */
- case RCU_IRC40K:
- while((RESET == osci_stat) && (OSC_STARTUP_TIMEOUT != stb_cnt)){
- osci_stat = rcu_flag_get(RCU_FLAG_IRC40KSTB);
- stb_cnt++;
- }
- /* check whether flag is set or not */
- if(RESET != rcu_flag_get(RCU_FLAG_IRC40KSTB)){
- reval = SUCCESS;
- }
- break;
初始化如下:
- rcu_periph_clock_enable(RCU_BKPI);
- rcu_periph_clock_enable(RCU_PMU);
- pmu_backup_write_enable();
- bkp_deinit();
- rcu_osci_on(RCU_LXTAL);
- rcu_osci_stab_wait(RCU_LXTAL);
- rcu_rtc_clock_config(RCU_RTCSRC_LXTAL);
- rcu_periph_clock_enable(RCU_RTC);
- rtc_register_sync_wait();
|