//========================================================================= //----- (000022EC) -------------------------------------------------------- __myevic__ void GPD_IRQHandler() { if ( GPIO_GET_INT_FLAG( PD, GPIO_PIN_PIN7_Msk ) ) { GPIO_CLR_INT_FLAG( PD, GPIO_PIN_PIN7_Msk ); if ( gFlags.usb_attached ) { BattProbeCount = 1; if ( gFlags.battery_charging ) { Event = 13; } } } else if ( GPIO_GET_INT_FLAG( PD, GPIO_PIN_PIN1_Msk ) ) { GPIO_CLR_INT_FLAG( PD, GPIO_PIN_PIN1_Msk ); if ( gFlags.usb_attached && ( NumBatteries == 1 ) && ( BatteryVoltage >= 414 ) ) { BattProbeCount = 1; if ( gFlags.battery_charging ) { Event = 13; } } } else if ( GPIO_GET_INT_FLAG( PD, GPIO_PIN_PIN0_Msk ) ) { GPIO_CLR_INT_FLAG( PD, GPIO_PIN_PIN0_Msk ); if ( ISPRESA75W || ISVTCDUAL || ISCUBOID || ISCUBO200 || ISRX200S || ISRX23 || ISRX300 ) { if ( gFlags.firing || gFlags.probing_ato ) { if ( Event != 28 ) { Event = 28; StopFire(); } } } } else if ( GPIO_GET_INT_FLAG( PD, GPIO_PIN_PIN2_Msk|GPIO_PIN_PIN3_Msk ) ) { GPIO_CLR_INT_FLAG( PD, GPIO_PIN_PIN2_Msk|GPIO_PIN_PIN3_Msk ); if ( dfStatus.wakeonpm ) { gFlags.wake_up = 1; } } else { PD->INTSRC = PD->INTSRC; } }
//--------------------------------------------------------------------------------------------------------- // GPIO interrupt handler. //--------------------------------------------------------------------------------------------------------- void GPAB_IRQHandler() { #if(WAKEUP_GPIO_TRG_PA) GPIO_CLR_INT_FLAG( PA, GPIO_GET_INT_FLAG( PA, WAKEUP_GPIO_TRG_PA ) ); #endif #if(WAKEUP_GPIO_TRG_PB) GPIO_CLR_INT_FLAG( PB, GPIO_GET_INT_FLAG( PB, WAKEUP_GPIO_TRG_PB ) ); #endif NVIC_ClearPendingIRQ(GPAB_IRQn); }
void GPB_IRQHandler(void) { int32_t mask; int32_t pin; uint8_t *RX_PORT_PINS = RX_PORTB_PINS; uint32_t cTime,dTime; static uint32_t edgeTime[8]; mask = GPIO_GET_INT_FLAG(PB, BIT0|BIT1|BIT6|BIT3|BIT4|BIT5); if(mask) { GPIO_CLR_INT_FLAG(PB, mask); } else { PB->INTSRC = PB->INTSRC; //printf("Un-expected interrupts.\n"); } pin = PB0|(PB1<<1)|(PB6<<6)|(PB3<<3)|(PB4<<4)|(PB5<<5); cTime = micros(); RX_PIN_CHECK(0,AUX2PIN); RX_PIN_CHECK(1,AUX1PIN); RX_PIN_CHECK(2,YAWPIN); RX_PIN_CHECK(3,PITCHPIN); RX_PIN_CHECK(4,ROLLPIN); RX_PIN_CHECK(5,THROTTLEPIN); //printf("cTime:%d,dTime:%d\n",cTime,dTime); }
/** * @brief External INT0 IRQ * * @param None * * @return None * * @details The External INT0(P3.2) default IRQ, declared in startup_M051Series.s. */ void EINT0_IRQHandler(void) { U8 OK = 0; //判断是否接收到1个编码位 U8 RODATA = 0; //用于记录判断高低电平的编码是0还是1 /* For P3.2, clear the INT flag */ GPIO_CLR_INT_FLAG(P3, BIT2); if(0 == HONGWAI) { TIMER_Stop(TIMER0); //接收到低电平关闭定时器 TIMER_Stop(TIMER1); //接收到低电平关闭定时器 if(Width == 75) //接收到高电平时间超过1.5ms时 接收到的不是所需的数据 { Remote_Rdy = 0; //红外没接收到数据 index = 0; //红外编码位计数清零 } else if((Width >= 40) && (Width < 75)) {OK=1;RODATA = 0;}//高电平时间是0.5ms,是“0” else if((Width >= 5) && (Width < 40)) {OK=1;RODATA = 1;}//高电平时间是1.5s,是“1” else {} if(OK) { OK=0; index++; code >>= 1; if(RODATA) code += 0x800; else {} } else {} if(11 == index)
/** * @brief External INT1 IRQ * * @param None * * @return None * * @details The External INT1(PB.15) default IRQ, declared in startup_NUC029xEE.s. */ void EINT1_IRQHandler(void) { /* For PB.15, clear the INT flag */ GPIO_CLR_INT_FLAG(PB, BIT15); printf("EINT1 occurred.\n"); }
/** * @brief External INT0 IRQ * * @param None * * @return None * * @details The External INT0 default IRQ, declared in startup_M451Series.s. */ void EINT0_IRQHandler(void) { /* To check if PA.0 external interrupt occurred */ if(GPIO_GET_INT_FLAG(PA, BIT0)) { GPIO_CLR_INT_FLAG(PA, BIT0); printf("PA.0 EINT0 occurred.\n"); } /* To check if PD.2 external interrupt occurred */ if(GPIO_GET_INT_FLAG(PD, BIT2)) { GPIO_CLR_INT_FLAG(PD, BIT2); printf("PD.2 EINT0 occurred.\n"); } }
/** * @brief External INT1 IRQ * * @param None * * @return None * * @details The External INT1 default IRQ, declared in startup_M451Series.s. */ void EINT1_IRQHandler(void) { /* To check if PB.0 external interrupt occurred */ if(GPIO_GET_INT_FLAG(PB, BIT0)) { GPIO_CLR_INT_FLAG(PB, BIT0); printf("PB.0 EINT1 occurred.\n"); } }
/** * @brief External INT0 IRQ * * @param None * * @return None * * @details The External INT0(P3.2) default IRQ, declared in startup_Mini51.s. */ void EINT0_IRQHandler(void) { //printf("!@$^\n"); /* For P3.2, clear the INT flag */ GPIO_CLR_INT_FLAG(P3,1<<2); if(g_level_change==4) g_level_change = 0; else g_level_change++; }
void GPAB_IRQHandler(void) { /* To check if PB.3 interrupt occurred */ if(GPIO_GET_INT_FLAG(PB, BIT3)) { GPIO_CLR_INT_FLAG(PB, BIT3); printf("PB.3 INT occurred.\n"); } else { /* Un-expected interrupt. Just clear all PA, PB interrupts */ PA->ISRC = PA->ISRC; PB->ISRC = PB->ISRC; printf("Un-expected interrupts.\n"); } }
//----- (00002334) -------------------------------------------------------- __myevic__ void GPE_IRQHandler() { if ( GPIO_GET_INT_FLAG( PE, GPIO_PIN_PIN0_Msk ) ) { GPIO_CLR_INT_FLAG( PE, GPIO_PIN_PIN0_Msk ); gFlags.wake_up = 1; } else { PE->INTSRC = PE->INTSRC; } }
void GPE_IRQHandler(void) { /* To check if PE.0 interrupt occurred */ if(GPIO_GET_INT_FLAG(PE, BIT0)) { GPIO_CLR_INT_FLAG(PE, BIT0); if(PE0 == 0) keyState |= 1 << 7; else if(PE0 == 1) keyState &= ~(1 << 7); } KeyDev.Input.data1.value = keyState; if(KeyDev.Input.data1.value > 0) { PA2 = 0; } else { PA2 = 1; } }
void GPC_IRQHandler(void) { /* To check if PC.0 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT0)) { GPIO_CLR_INT_FLAG(PC, BIT0); if(PC0 == 0) keyState |= 1; else if(PC0 == 1) keyState &= ~(1); } /* To check if PC.1 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT1)) { GPIO_CLR_INT_FLAG(PC, BIT1); if(PC1 == 0) keyState |= 1 << 1; else if(PC1 == 1) keyState &= ~(1 << 1); } /* To check if PC.2 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT2)) { GPIO_CLR_INT_FLAG(PC, BIT2); if(PC2 == 0) keyState |= 1 << 2; else if(PC2 == 1) keyState &= ~(1 << 2); } /* To check if PC.3 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT3)) { GPIO_CLR_INT_FLAG(PC, BIT3); if(PC3 == 0) keyState |= 1 << 3; else if(PC3 == 1) keyState &= ~(1 << 3); } /* To check if PC.4 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT4)) { GPIO_CLR_INT_FLAG(PC, BIT4); if(PC4 == 0) keyState |= 1 << 4; else if(PC4 == 1) keyState &= ~(1 << 4); } /* To check if PC.5 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT5)) { GPIO_CLR_INT_FLAG(PC, BIT5); if(PC5 == 0) keyState |= 1 << 5; else if(PC5 == 1) keyState &= ~(1 << 5); } /* To check if PC.6 interrupt occurred */ if(GPIO_GET_INT_FLAG(PC, BIT6)) { GPIO_CLR_INT_FLAG(PC, BIT6); if(PC6 == 0) keyState |= 1 << 6; else if(PC6 == 1) keyState &= ~(1 << 6); } KeyDev.Input.data1.value = keyState; if(KeyDev.Input.data1.value > 0) { PA2 = 0; } else { PA2 = 1; } }