打印
[技术问答]

M051单片机中断唤醒问题

[复制链接]
769|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heben2008|  楼主 | 2020-2-14 11:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试情况:测试IC: M0516LDN, NUC029.
(1)单独使用GPIO P2P3P4中断可以正常唤醒;
(2)使用EXINT0和Exint1外部中断可以正常唤醒;
(3)GPIO P2P3P4中断和两个外部中断同时使用,只有外部中断能够唤醒;
问题:
需要GPIO P2P3P4和外部中断都可以唤醒。

配置代码:
VOID GPIOP2P3P4_IRQHandler(VOID)
{
     if ((P4_ISRC&(1<<4))!=0) {  
                              P4_ISRC |= (1<<4);       //清中断标识;
                              Uart0_Send_u32(0x01);
                              last_record_addr = record_update(last_record_addr);                                
                              }
}
VOID EINT0_IRQHandler(VOID)
{
        P3_ISRC |= 1<<2;  
}
VOID EINT1_IRQHandler(VOID)
{
        P3_ISRC |= 1<<3;  //写 1 清空
}

深度睡眠代码:
VOID McuPowerDown(VOID)
{  
    PROTECT_REG
   (   
    SCR |= SLEEPDEEP;     /* 进入睡眠模式 */   
    PWRCON &= ~PD_WU_IE;  /* 禁止掉电模式下唤醒的中断中断使能 */
    PWRCON &= ~PD_WAIT_CPU;
        PWRCON &= ~WU_DLY;
        PWRCON &= ~PD_WU_IE;
        PWRCON |= WU_DLY;
        PWRCON |= PD_WAIT_CPU;
        PWRCON |= PD_WU_IE;
    PWRCON |= PWR_DOWN_EN;
   )
    __WFI();
}

使用特权

评论回复
沙发
玛尼玛尼哄| | 2020-2-14 13:48 | 只看该作者
非常好。

使用特权

评论回复
板凳
heben2008|  楼主 | 2020-2-14 14:35 | 只看该作者
现在的问题是我需要GPIO P2P3P4和外部中断都可以唤醒,但是目前3个中断同时使能的话,只有外部中断能唤醒,P4.4不能唤醒

使用特权

评论回复
地板
heben2008|  楼主 | 2020-2-14 14:36 | 只看该作者
P44配置代码:
VOID GPIO_interrupt_INIT(VOID)
{
          P4_PMD &= ~ Px4_PMD;                              //P44;
          P4_PMD |=   Px4_QB;                               //配置输入模式时,连续抖动,配置为准双向时不抖动,此处存疑!!;
        
          P4_IMD &= IMD4_EDG;                            //配置中断模式,0 = 边沿触发中断,IMD寄存器,datasheet中说明不够详细;
          P4_IEN |= IF_EN4;                                   //配置中断源,低电平或下降沿IF_EN4;
          NVIC_ISER |= GP234_INT;                        //配置允许IO中断,查中断向量表, NVIC_ISER 中bit(5)置1,开启P234中断;
}

使用特权

评论回复
5
幸福小强| | 2020-2-15 20:39 | 只看该作者
试试那个管脚配置工具配置代码看看。

使用特权

评论回复
6
幸福小强| | 2020-2-15 20:47 | 只看该作者
搞不懂啊,是不是有冲突的地方。

使用特权

评论回复
7
gejigeji521| | 2020-2-16 14:20 | 只看该作者
找到个开发板回头帮你测测。

使用特权

评论回复
8
heben2008|  楼主 | 2020-2-16 17:45 | 只看该作者
已解决,设计P44是掉电存储用的中断。不触发是因为UART电源倒灌进IC了。

使用特权

评论回复
9
zhuotuzi| | 2020-2-16 18:52 | 只看该作者
原来硬件电路问题,多谢楼主分享,下次做的时候关系到用串口带VCC,GND供电,那要注意了。

使用特权

评论回复
10
wanduzi| | 2020-2-16 21:07 | 只看该作者
准备认真学习

使用特权

评论回复
11
wanduzi| | 2020-2-16 21:08 | 只看该作者
多谢楼主宝贵经验。

使用特权

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

本版积分规则

1

主题

11

帖子

0

粉丝