首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DistinguishingFalling与XMEGA中的上升边

DistinguishingFalling与XMEGA中的上升边
EN

Stack Overflow用户
提问于 2015-05-26 10:40:01
回答 1查看 459关注 0票数 0

我有3个按钮,每次按下或释放这些按钮时都会产生中断,问题是,我需要弄清楚到底发生了什么(实现或按下按钮),下面是我的代码:

代码语言:javascript
复制
..................

 ISR(PORTA_INT0_vect){
    if(!(PORTA.IN & PIN1_bm)){  // Green LED  pressed
        printf(" Green button pressed\n");

    }

     if(!(PORTA.IN & PIN3_bm)){ // Blue LED pressed 
        printf(" Blue button pressed\n");

    }

    if (!(PORTA.IN & PIN5_bm)){ // Red LED
        printf(" Red button pressed  \n");

    }
}

 ISR(PORTA_INT1_vect){
  printf(" I'm in \n");
    if((PORTA.IN & PIN1_bm)){// Green LED  released
        printf("Green button  released \n");
    }
    else if((PORTA.IN & PIN3_bm)){// Blue  LED  released
        printf("Blue button released \n");
    }
    else if((PORTA.IN & PIN5_bm)){// Red LED  released
        printf("Red button released \n");
    }


 }

void buttonINT(){
    // PORTA 
    PORTA.PIN1CTRL = PORT_OPC_PULLUP_gc|  PORT_ISC_FALLING_gc ;
    PORTA.PIN3CTRL = PORT_OPC_PULLUP_gc|  PORT_ISC_FALLING_gc ;
    PORTA.PIN5CTRL = PORT_OPC_PULLUP_gc|  PORT_ISC_FALLING_gc ;
    PORTA.INT0MASK = PIN1_bm | PIN3_bm | PIN5_bm;
    PORTA.INTCTRL = PORT_INT0LVL0_bm;
    PMIC.CTRL |= PMIC_LOLVLEN_bm;
    sei();
    }
void buttonINT2(){
    // PORTA 
    PORTA.PIN1CTRL = PORT_OPC_PULLUP_gc|  PORT_ISC_RISING_gc ;
    PORTA.PIN3CTRL = PORT_OPC_PULLUP_gc|  PORT_ISC_RISING_gc ;
    PORTA.PIN5CTRL = PORT_OPC_PULLUP_gc|  PORT_ISC_RISING_gc ;
    PORTA.INT1MASK = PIN1_bm | PIN3_bm | PIN5_bm;
    PORTA.INTCTRL = PORT_INT1LVL1_bm;
    PMIC.CTRL |= PMIC_LOLVLEN_bm;
    sei();
    }

我得到的问题是,程序根本不产生一个中断在上升的边缘?

你知道我在这里做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-26 15:35:05

我建议使用一个计时器产生的中断轮询键,每10毫秒。在这里你可以

  • .times=‘times 3’>键(即,只有当您有相同的读数2/3/4次时才接受键更改).如今的事情似乎常常被遗忘。
  • 检查升降边
  • 引发可从main()中处理和清除的“键状态更改”标志。
  • 奖励:检查“长按键”
  • 奖金:检查“双份蛋糕”
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30456188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档