查看: 7540|回复: 8

FM33L026停振检测中断标志无法清除!

[复制链接]

6

主题

17

帖子

295

积分

高级工程师

Rank: 3Rank: 3

积分
295
发表于 2020-4-4 15:09:51 | 显示全部楼层 |阅读模式
LFDETIF在停振中断后无法清除,在晶振恢复前后都无法清除,会一直重复进中断。
回复

使用道具 举报

166

主题

343

帖子

3082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3082
QQ
发表于 2020-4-7 09:29:28 | 显示全部楼层
11.JPG
这个标志位需要手动清除,软件写1清除。


回复

使用道具 举报

6

主题

17

帖子

295

积分

高级工程师

Rank: 3Rank: 3

积分
295
 楼主| 发表于 2020-4-7 16:13:51 | 显示全部楼层
wangpeng 发表于 2020-4-7 09:29
这个标志位需要手动清除,软件写1清除。

软件写1清不了
回复

使用道具 举报

151

主题

844

帖子

4391

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4391
发表于 2020-4-7 16:49:42 | 显示全部楼层
可能的,因为没恢复的化. 一直会检测到停振,那就会一直置起
回复

使用道具 举报

6

主题

17

帖子

295

积分

高级工程师

Rank: 3Rank: 3

积分
295
 楼主| 发表于 2020-4-9 17:23:19 | 显示全部楼层
顾博文 发表于 2020-4-7 16:49
可能的,因为没恢复的化. 一直会检测到停振,那就会一直置起

我是 if(SET == RCC_FDET_ISR_LFDETO_Chk()) 检测XTLF恢复正常后才去清的,清不掉。
回复

使用道具 举报

166

主题

343

帖子

3082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3082
QQ
发表于 2020-4-9 19:58:32 | 显示全部楼层
您这边可以发一下您相关程序给我,帮您看看哪里有问题。QQ 974170020
回复

使用道具 举报

166

主题

343

帖子

3082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3082
QQ
发表于 2020-4-9 19:59:53 | 显示全部楼层
XinChao 发表于 2020-4-9 17:23
我是 if(SET == RCC_FDET_ISR_LFDETO_Chk()) 检测XTLF恢复正常后才去清的,清不掉。

您这边可以发一下您相关程序给我,帮您看看哪里有问题。QQ 974170020
回复

使用道具 举报

6

主题

17

帖子

295

积分

高级工程师

Rank: 3Rank: 3

积分
295
 楼主| 发表于 2020-4-11 16:02:18 | 显示全部楼层
wangpeng 发表于 2020-4-9 19:59
您这边可以发一下您相关程序给我,帮您看看哪里有问题。QQ 974170020

初始化:
RCC_PERCLK_SetableEx(ANACCLK, ENABLE);
FDETState = 0;
RCC_FDET_ISR_LFDETIF_Clr();
RCC_FDET_IER_LFDET_IE_Setable(ENABLE);
NVIC_DisableIRQ(LFDET_IRQn);
NVIC_SetPriority(LFDET_IRQn, 2);
NVIC_ClearPendingIRQ(LFDET_IRQn);
NVIC_EnableIRQ(LFDET_IRQn);

中断:
void LFDET_IRQHandler(void)        //XTLF停振检测中断
{
        if(SET == RCC_FDET_ISR_LFDETIF_Chk())
        {
                RCC_FDET_IER_LFDET_IE_Setable(DISABLE);
                RCC_FDET_ISR_LFDETIF_Clr();
                FDETState = 1;
        }
}

定时检测:
if(FDETState)
{
        if(FDETState == 1)
        {//停振
                FDETState = 255;
        }
        if(SET == RCC_FDET_ISR_LFDETO_Chk())
        {恢复
                FDETState = 0;
                RCC_FDET_ISR_LFDETIF_Clr();
                RCC_FDET_IER_LFDET_IE_Setable(ENABLE);
        }
}
回复

使用道具 举报

166

主题

343

帖子

3082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3082
QQ
发表于 2020-4-15 09:47:33 | 显示全部楼层
您这边使用的是我们的开发板吗?我这边清除标志是正常的。
可以用示波器看一下XTLF恢复后的输出是否正常
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表