打印
[新手园地]

弱弱的问下,120怎么进入掉电模式?谢谢!

[复制链接]
2168|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oyljxilige|  楼主 | 2012-4-25 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, IO, ni, pi, FOR
我参照库函数里面是这么写的,但一直都进不了掉电模式
void IDLEMode(uint8_t u8Type)
{
//    ExternInitGPIOWakeupFunction();
// InitGPIOWakeupFunction();
UNLOCKREG();
DrvSYS_SetPowerDownWakeUpInt(1, PWRWU_CallBackfn, 1);
// if(ExternInitGPIOWakeupFunction()==1)
  if(InitGPIOWakeupFunction()==1)
{
  if (u8Type == 0)
  {
   /* For IDLE Mode */
            SYSCLK->PWRCON.PD_WAIT_CPU  = 0;
         SYSCLK->PWRCON.PWR_DOWN_EN     = 0;
                        
   /* Wait for interrupt and enter in IDLE mode */
   DrvSYS_Delay(1000);
   __WFI();
  }else
  if (u8Type == 1)
  {
   /* For PowerDown Mode */
            
   SCB->SCR = 4;
            DrvSYS_EnterPowerDown(E_SYS_WAIT_FOR_CPU);
            
   /* Wait for interrupt and enter in Power Down mode */
   DrvSYS_Delay(1000);
   __WFI();
     }else
  if (u8Type == 2)
  {
   /* For PowerDown Mode */         
   SCB->SCR = 4;
            DrvSYS_EnterPowerDown(E_SYS_IMMEDIATE);        
   /* Wait for interrupt and enter in Power Down mode */
   DrvSYS_Delay(1000);
        }
   }
LOCKREG();
// UnInitGPIOWakeupFunction();
// DrvGPIO_DisableEINT1();
}

相关帖子

沙发
天凉好个秋| | 2012-4-25 20:42 | 只看该作者
{
        UNLOCKREG();
        SCB->SCR = 4;
        SYSCLK->PWRCON.WINT_EN = 0;
        SYSCLK->PWRCON.PD_WAIT_CPU = 1;
        SYSCLK->PWRCON.PWR_DOWN = 0;
        LOCKREG();
        __WFI();
}

使用特权

评论回复
板凳
oyljxilige|  楼主 | 2012-4-26 10:06 | 只看该作者
谢谢2喽的程序,我直接复制过去报错了,我改成了下面这样,我用仿真器全速运行了下,最后程序就停在   __WFI();这,不知道这样算不算是进入了掉电模式了。
        UNLOCKREG();
        DrvSYS_SetPowerDownWakeUpInt(1, PWRWU_CallBackfn, 1);
        SCB->SCR = 4;
        SYSCLK->PWRCON.PD_WU_INT_EN = 1;
        SYSCLK->PWRCON.PD_WAIT_CPU = 1;
        SYSCLK->PWRCON.PWR_DOWN_EN = 1;
        LOCKREG();
        __WFI();
还有个问题想请教下,上面的程序如果是进入掉电模式的话为什么我用GPIO中断不能唤醒它,我在下面的掉电唤醒中断中设置了断点,GPIO中断发生时不进掉电唤醒中断,求高手指点
void PWRWU_CallBackfn(void)
{
        printf("PWRWU interrupt.\n");
    if(SYSCLK->PWRCON.PD_WU_STS==1)
    {
            printf("Got power down status bit!!\n");
    }
    else
    {
            printf("Can't get power down status bit!!\n");
        while(1);
    }
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

19

帖子

1

粉丝