打印
[Kinetis]

求助:“KL02Z32的PORTA中断唤醒VLPS有时不行”该如何解决

[复制链接]
1038|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
czq2317|  楼主 | 2016-2-18 10:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
ps, KL02Z, TI, ni, se

在睡眠之前打开要打开的IO口中断,清楚中断标志位
/*******************************************************************************/
void GotoVlps(void)
{
        PORT_HAL_ClearPortIntFlag(PORTA);
        PORT_HAL_ClearPortIntFlag(PORTB);
        INT_SYS_EnableIRQ(PORTA_IRQn);
        INT_SYS_EnableIRQ(PORTB_IRQn);
        PORT_HAL_SetPinIntMode(PORTB, 6, kPortIntFallingEdge);
        PORT_HAL_SetPinIntMode(PORTB, 7, kPortIntFallingEdge);
        PORT_HAL_SetPinIntMode(PORTB, 0, kPortIntEitherEdge);
        PORT_HAL_SetPinIntMode(PORTA, 7, kPortIntEitherEdge);
        PORT_HAL_SetPinIntMode(PORTB, 4, kPortIntEitherEdge);
        PORT_HAL_SetPinIntMode(PORTA, 12,kPortIntEitherEdge);
        
        TPM0TOFDeInit();

        if (POWER_SYS_SetMode(kKlxxVlps, kPowerManagerPolicyAgreement) != kPowerManagerSuccess)
        {
        }
        PORT_HAL_SetPinIntMode(PORTB, 6, kPortIntDisabled);
        PORT_HAL_SetPinIntMode(PORTB, 7, kPortIntDisabled);
        PORT_HAL_SetPinIntMode(PORTB, 0, kPortIntDisabled);
        PORT_HAL_SetPinIntMode(PORTA, 7, kPortIntDisabled);
        PORT_HAL_SetPinIntMode(PORTB, 4, kPortIntDisabled);
        PORT_HAL_SetPinIntMode(PORTA, 12,kPortIntDisabled);

        TPM0TOFInit();
}

中断的目的用于唤醒MCU,每一次中断唤醒MCU之后立即关闭中断
/*****************************************************************************/
void PORTB_IRQHandler(void)
{
        INT_SYS_DisableIRQ(PORTB_IRQn);
        PORT_HAL_ClearPortIntFlag(PORTB);
        
        SysIntFlag = 1;
}

/*****************************************************************************/
void PORTA_IRQHandler(void)
{
        INT_SYS_DisableIRQ(PORTA_IRQn);
        PORT_HAL_ClearPortIntFlag(PORTA);
        
        SysIntFlag = 1;
}


现在的问题是,PORTB的中断管脚每一次都能唤醒MCU,但是PORTA的中断管脚不是每一次都能唤醒MCU;
当PORTA的中断管脚有动作但是不能唤醒MCU的时候,用PORTB的中断管脚唤醒MCU,在调试窗口可看见
PORTA的中断请求标记!
有没有碰到一样的问题,怎么样才能让PORTA中断管脚每一次都能产生中断唤醒MCU?

相关帖子

沙发
czq2317|  楼主 | 2016-2-18 10:31 | 只看该作者
PORTA产生中断但不能唤醒MCU,当PORTB产生中断唤醒MCU时,也可在仿真窗口看见PORTA的中断标志

无标题.png (156.49 KB )

PORTA产生中断但不能唤醒MCU,当PORTB产生中断唤醒MCU时,也可在仿真窗口看见PORTA的中断标志 ...

PORTA产生中断但不能唤醒MCU,当PORTB产生中断唤醒MCU时,也可在仿真窗口看见PORTA的中断标志 ...

使用特权

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

本版积分规则

9

主题

83

帖子

1

粉丝