100 lines
3.5 KiB
C
100 lines
3.5 KiB
C
|
/** ##########################################################################
|
|||
|
** 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(); //重新配置
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|