查看: 13773|回复: 10

深度睡眠模式的唤醒源屏蔽怎么操作呢?

[复制链接]

15

主题

35

帖子

201

积分

高级工程师

Rank: 3Rank: 3

积分
201
发表于 2021-6-7 22:15:26 | 显示全部楼层 |阅读模式
FM33LG0 进入深度睡眠模式后,想屏蔽其他唤醒源 只使用 WKUP引脚来唤醒,要怎么配置呢?
回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2021-6-9 09:24:18 | 显示全部楼层
不打开其他中断源的中断使能就好了。默认都关的。 你自己打开过的,那就自己关掉
回复

使用道具 举报

15

主题

35

帖子

201

积分

高级工程师

Rank: 3Rank: 3

积分
201
 楼主| 发表于 2021-6-9 10:34:39 | 显示全部楼层
好的谢谢,还有一个问题我在调用库里面的获取唤醒来源的时候读出来一直都是零,这些函数是需要在对应的中断里面调用获取到的值才有效吗?
回复

使用道具 举报

15

主题

35

帖子

201

积分

高级工程师

Rank: 3Rank: 3

积分
201
 楼主| 发表于 2021-6-9 13:29:43 | 显示全部楼层
手册上说 WWDT看门狗 在进入睡眠模式后 会自动停止,为什么我在进入深度睡眠模式后还会被WWDT看门狗中断唤醒呢?
回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2021-6-9 16:15:41 | 显示全部楼层
MCU_YT 发表于 2021-6-9 10:34
好的谢谢,还有一个问题我在调用库里面的获取唤醒来源的时候读出来一直都是零,这些函数是需要在对应的中断 ...

不明白,看中断不应该看if标志么。if标志被置起才会产生中断,平时你去看当然没有if。
回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2021-6-9 16:17:32 | 显示全部楼层
MCU_YT 发表于 2021-6-9 13:29
手册上说 WWDT看门狗 在进入睡眠模式后 会自动停止,为什么我在进入深度睡眠模式后还会被WWDT看门狗中断唤 ...

你确定是wwdt? wwdt的时钟时pclk,休眠时pclk是关闭的,wwdt根本就不会动。哪来的中断唤醒
回复

使用道具 举报

15

主题

35

帖子

201

积分

高级工程师

Rank: 3Rank: 3

积分
201
 楼主| 发表于 2021-6-9 17:34:42 | 显示全部楼层
确定   屏蔽WWDT程序后进入深度睡眠模式正常,打开就不得行了。
回复

使用道具 举报

15

主题

35

帖子

201

积分

高级工程师

Rank: 3Rank: 3

积分
201
 楼主| 发表于 2021-6-9 17:42:50 | 显示全部楼层
顾博文 发表于 2021-6-9 16:15
不明白,看中断不应该看if标志么。if标志被置起才会产生中断,平时你去看当然没有if。 ...

我在唤醒后立马查询唤醒源都查询不到  
回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2021-6-10 08:47:14 | 显示全部楼层
能进中断函数了查不到 中断源? 你好好看下你写的程序吧,应该是程序问题。
回复

使用道具 举报

15

主题

35

帖子

201

积分

高级工程师

Rank: 3Rank: 3

积分
201
 楼主| 发表于 2021-6-10 09:22:47 | 显示全部楼层
顾博文 发表于 2021-6-10 08:47
能进中断函数了查不到 中断源? 你好好看下你写的程序吧,应该是程序问题。 ...

void GPIO_IRQHandler(void)
{
    if(FL_GPIO_IsActiveFlag_EXTI(GPIO, FL_GPIO_EXTI_LINE_3))
    {
                       
                         if(FL_PMU_IsActiveFlag_WakeupEXTI(PMU))//查看唤醒来源
                         {
                           printf("\r\n ........ MCU GPIO XXX     > > > > > >  INTUPT   ");
                          }
                       
                           printf("\r\n ........ MCU GPIO Interropt     > > > > > >  INTUPT   ");
        FL_GPIO_ClearFlag_EXTI(GPIO, FL_GPIO_EXTI_LINE_3);
    }
               
}

这样子写有问题吗? 直接在中断里面查看唤醒源。
回复

使用道具 举报

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

本版积分规则

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