野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9384|回复: 5

uCOS进入睡眠模式马上就跳出来

[复制链接]
发表于 2017-6-13 17:50:02 | 显示全部楼层 |阅读模式
本帖最后由 blandodo 于 2017-6-14 22:02 编辑

代码如下:
                        u32 nCount = 0x3FFFFFF;
//  进入睡眠模式关闭指示灯,并关闭所有中断
                        LED_LOGO_OFF;
                        LED_LCD_OFF;
                        BSP_IntDisAll();
                        BSP_IntEn(EXTI15_10_IRQn);
                        for(; nCount != 0; nCount--);
                        __WFI();
// 没有按键,执行完睡眠后就直接往下执行了
                        LED_LOGO_ON;
                        LED_LCD_ON;
                        CPU_IntEn();
                        BSP_IntEn(LTDC_IRQn);
                        BSP_IntEn(DMA2D_IRQn);

还要检查什么其他设置吗?

回复

使用道具 举报

发表于 2017-6-14 08:59:08 | 显示全部楼层
是不是有定时器什么的中断了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-14 19:41:57 | 显示全部楼层
本帖最后由 blandodo 于 2017-6-14 19:48 编辑
flyleaf 发表于 2017-6-14 08:59
是不是有定时器什么的中断了
谢谢版主大大回复:D
现在把可以触发中断使能都关了,代码改成自己熟悉的NVIC函数
  1.                 LED_LOGO_OFF;
  2.                 LED_LCD_OFF;
  3.                 NVIC_DisableIRQ(LTDC_IRQn);
  4.                 NVIC_DisableIRQ(DMA2D_IRQn);
  5.                 for(; nCount != 0; nCount--);

  6.                 EXTI_ClearITPendingBit(KEY_START_INT_EXTI_LINE);
  7.                 NVIC_ClearPendingIRQ(EXTI9_5_IRQn);
  8.                 NVIC_ClearPendingIRQ(LTDC_IRQn);
  9.                 NVIC_ClearPendingIRQ(DMA2D_IRQn);

  10.               <font color="#ff0000">  __WFI();  </font>// 在此处打断点

  11.                 LED_LOGO_ON;
  12.                 LED_LCD_ON;
  13.                 CPU_IntEn();
复制代码

在__WFI()处打断点,查看了NVIC的几个寄存器如下: nvic寄存器.png
其中悬起状态寄存器ISPR2里置位的是88和90号中断,分别为LTDC和DMA2D的中断,已经在ISER中清除使能了,理论上应该不会再触发中断了。
而其他中断甚至没有悬起。包括SYSTIC也没有。
没有思路了,还请赐教~



回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-14 20:10:07 | 显示全部楼层
flyleaf 发表于 2017-6-14 08:59
是不是有定时器什么的中断了

我想我的问题应该是如何在uCOS下实现低功耗休眠?
野火有相对应的例程不?
回复 支持 反对

使用道具 举报

发表于 2017-6-15 12:14:39 | 显示全部楼层
blandodo 发表于 2017-6-14 20:10
我想我的问题应该是如何在uCOS下实现低功耗休眠?
野火有相对应的例程不?

在idle 空闲任务的钩子函数加 WFI指令就可以了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-27 12:00 , Processed in 0.047871 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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