CW32F030 支持外部时钟(HSE 和 LSE)起振失败检测功能。启动外部时钟后,时钟检测逻辑对所检测的时钟信号进行计数,在检测时间内检测到设定个数的时钟信号则时钟起振成功,否则起振失败。 HSE 起振失败检测的时钟数量通过 SYSCTRL_HSE.WAITCYCLE 设置,检测时间无需用户设置,由系统自动设定,如下表所示:
LSE 起振失败检测的时钟数量通过 SYSCTRL_LSE.WAITCYCLE 设置,检测时间无需用户设置,由系统自动设定,如下表所示:
外部时钟(HSE 和 LSE)故障检测功能默认处于关闭状态,此时 HSE/LSE 起振失败不会产生相应的中断标志。通过设置 SYSCTRL_CR1.HSECCS 为 1 和 SYSCTRL_CR1.LSECCS 为 1 分别使能 HSE 和 LSE 外部时钟的故障检测功能。使能外部时钟的故障检测功能后,如果 HSE 或者 LSE 起振失败,会产生起振失败中断标志(对应 SYSCTRL_ISR.HSEFAIL 或者 SYSCTRL_ISR.LSEFAIL 被置为 1);如果中断使能(对应 SYSCTRL_IER.HSEFAIL 或者 SYSCTRL_IER.LSEFAIL 设置为 1),则 CPU 会执行中断服务程序进行时钟起振失败处理。
|