/** ########################################################################## ** Filename : ** Project : ** Module : ** Processor : ** Version : 1.0 ** Compiler : ** Date/Time : ** Abstract : ** Contents : ** Note : 此文档用于规范代码书写; * 注意, * 1.所有文件用UTF-8格式 * 2.tab键空格4个 * 3.各模块,都要有 初始化函数 init, 反初始化函数 deinit, * 周期任务task,进入休眠goto sleep, * 唤醒后 goto wake ,判断是否可休眠judge_pre_sleep 等主要函数接口 * 4. ** ** (c) Copyright dmdz Co.,Ltd ** -------------------------------------------------------------------------- ** R E V I S I O N H I S T O R Y ** -------------------------------------------------------------------------- ** Date Ver Author Description ** -20191106- --V01-- --LYJ--- --初版-- ** -20230602- --V1.0-- --mingyea--- --修改-- ** #########################################################################*/ /*--------------------------------------------------------------------------- - I N C L U D E F I L E S ----------------------------------------------------------------------------*/ #include "clk.h" /*--------------------------------------------------------------------------- - D E F I N E S / M A C R O S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- - T Y P E D E F I N I T I O N S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- - S T A T I C V A R I A B L E S ----------------------------------------------------------------------------*/ static uint32_t SYSCLKSELErrorState[4] = {0}; /*--------------------------------------------------------------------------- * G L O B A L V A R I A B L E S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- - C O N S T A N T S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- - F U N C T I O N P R O T O T Y P E ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- |Prototype : |Called by : |Preconditions : |Input parameters : |Output parameters : |Return value : |Description : CMU时钟中断 ----------------------------------------------------------------------------*/ void FDET_IRQHandler(void) { SYSCLKSELErrorState[2]++; /* 时钟选择中断处理 */ if((FL_CMU_IsEnabledIT_SYSCLKSELError() == 0x01UL) && (FL_CMU_IsActiveFlag_SYSCLKSELError() == 0x01UL)) { /* 清除时钟选择错误标志 */ FL_CMU_ClearFlag_SYSCLKSELError(); SYSCLKSELErrorState[0]++; } if((FL_CMU_IsEnabledIT_XTHFFail() == 0x01UL) && (FL_CMU_IsActiveFlag_XTHFFail() == 0x01UL)) { /* 清除高频晶体停振标志 */ FL_CMU_ClearFlag_XTHFFail(); SYSCLKSELErrorState[1]++; /*应用处理逻辑*/ clk_init(); //重新配置 } }