查看: 2907|回复: 3

[求助] 请教K10进入休眠问题

[复制链接]

该用户从未签到

9

主题

23

帖子

0

注册会员

Rank: 2

积分
59
最后登录
1970-1-1
发表于 2013-8-7 14:59:09 | 显示全部楼层 |阅读模式
 我的代码如下,初始化时我分别调用以下两个初始化函数:
MC_Init();  
LLWU_Init();    //设定PTA4/LLWU_P3 作为唤醒输入
 
然后工作中我调用了下面这个函数,能进入休眠:
enter_vlls1();
 
但我通过按键将PTA4脚拉低时,无法唤醒芯片,请问我的程序哪里有问题呢?
正常工作时PTA4脚能够触发IO中断,所以GPIO中断设置应该没问题。

 
 
 
 
 
//**************************************************************************************************
void MC_Init(void)
{
        /*Enable all operation modes because this is a write once register*/ 
    SMC-&gtMPROT =  SMC_PMPROT_AVLLS_MASK |
                                  SMC_PMPROT_ALLS_MASK   |    
                                  SMC_PMPROT_AVLP_MASK;
}
 
//**************************************************************************************************
void LLWU_Init(void)
{
        uint8 temp;
       
        NVIC_EnableIRQ(LLW_IRQn);                  /*        开启LLW中断                                                */  
       
        /* 设定PTA4/LLWU_P3作为唤醒输入,下降沿唤醒,关闭内部模块唤醒功能           */
        temp = LLWU-&gtE1;
        temp |= LLWU_PE1_WUPE3(2);
        LLWU->F1 |= LLWU_F1_WUF3_MASK;   // write one to clear the flag
    LLWU-&gtE1 = temp;
    LLWU->ME = 0;  //Set up modules to wakeup up       
       
        SIM->SCGC5|=SIM_SCGC5_PORTA_MASK;
 
        NVIC_EnableIRQ(PORTA_IRQn);                //开启PORTA中断
       
        PORTA-&gtCR[4]&=~(PORT_PCR_MUX_MASK);    
        PORTA-&gtCR[4]|=PORT_PCR_MUX(ALT1)|   //配置PORT口的MUX位为GPIO模式       
                                 PORT_PCR_PS_MASK         |
                                 PORT_PCR_PE_MASK  |
                                 PORT_PCR_PFE_MASK | 
                                 PORT_PCR_IRQC(10) ;        //外部中断触发设置 
}
 
//**************************************************************************************************
void PORTA_IRQHandler(void)                //PORTA中断程序
{
    PORTA->ISFR|=PORT_ISFR_ISF_MASK;                   //清除标志位   
}
 
//**************************************************************************************************
 __asm void waitforint()
{
    WFI
}
 
//**************************************************************************************************
void enter_vlls1(void)
{
               
        MCG->C6 &= ~MCG_C6_CME0_MASK;                //External clock monitor is disabled.
        /* Write to PMPROT to allow all possible power modes */
    /* Set the VLLSM field to 0b100 for VLLS1 mode - Need to retain state of LPWUI bit 8 */
    SMC-&gtMCTRL = (SMC-&gtMCTRL & SMC_PMCTRL_RUNM_MASK ) |
                  SMC_PMCTRL_STOPM(0x4) ; // retain LPWUI
 
    SMC->VLLSCTRL =  SMC_VLLSCTRL_VLLSM(1);           // set VLLSM = 0b01
       
    /* Now execute the stop instruction to go into VLLS1 */
    waitforint();
}
我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-8-14 17:33:03 | 显示全部楼层

    RE:请教K10进入休眠问题

    To avoid unwanted transitions on the pins, software must reinitialize the I/O pins to their pre-low-power mode entry states before releasing the hold.
    In Stop mode, the PORT can be configured to exit the Low-Power mode via an asynchronous wakeup signal if an enabled interrupt is detected.
    通过上面2个说明在进入STOP模式之前,要先将IO配置为低功耗模式。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9

    主题

    23

    帖子

    0

    注册会员

    Rank: 2

    积分
    59
    最后登录
    1970-1-1
     楼主| 发表于 2013-8-16 10:55:06 | 显示全部楼层

    RE:请教K10进入休眠问题

    请问是要将所有模块的IO都配置成低功耗模式吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    108

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    242
    最后登录
    2021-12-10
    发表于 2013-8-16 17:11:23 | 显示全部楼层

    RE:请教K10进入休眠问题

    楼主有试过使用中断从正常停止模式唤醒吗?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-7 02:06 , Processed in 0.087164 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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