[Bug] 时钟初始化配置代码有错误
bug情况
微信群客户滕亮反馈,LG048生成的代码,Keil编译报错
分析和解决
涉及代码
FL_FDET_ClearFlag_XTHFFail();
FL_FDET_EnableIT_XTHFFail();
InterruptConfigStruct.preemptPriority = 2;
FL_NVIC_Init(&InterruptConfigStruct, HFDET_IRQn);
void HFDET_IRQHandler(void)
{
//停振检测中断处理
if((FL_FDET_IsEnabledIT_XTHFFail() == 0x01UL)
&& (FL_FDET_IsActiveFlag_XTHFFail() == 0x01UL))
{
FL_FDET_ClearFlag_XTHFFail();
/*应用处理逻辑*/
}
}
经查,FM33LE0xx与FM33LC0xx可共用这部分代码,但FM33LG0xx和FM33FR0xx系列的函数定义和宏定义与它们不同,应修改为:
FL_CMU_ClearFlag_XTHFFail();
FL_CMU_EnableIT_XTHFFail();
InterruptConfigStruct.preemptPriority = 2;
FL_NVIC_Init(&InterruptConfigStruct, ECCC_RAMP_FDET_IRQn); //FM33LG0xx==>FDET_IRQn;FM33FR0xx==>ECCC_RAMP_FDET_IRQn
void HFDET_IRQHandler(void)
{
//停振检测中断处理
if((FL_CMU_IsEnabledIT_XTHFFail() == 0x01UL)
&& (FL_CMU_IsActiveFlag_XTHFFail() == 0x01UL))
{
FL_CMU_ClearFlag_XTHFFail();
/*应用处理逻辑*/
}
}