void GPIOPortEIntHandler(void) { uint8_t p = MAP_GPIOPinIntStatus(GPIO_PORTE_BASE, true) & 0xFF; MAP_GPIOPinIntClear(GPIO_PORTE_BASE, p); HWREGBITW(&g_ulFlags, FLAG_ENC_INT) = 1; }
static int int_gpio_negedge_get_flag( elua_int_resnum resnum, int clear ) { unsigned long portbase = pio_base[ PLATFORM_IO_GET_PORT( resnum ) ]; u8 pinmask = 1 << PLATFORM_IO_GET_PIN( resnum ); if( MAP_GPIOPinRead( portbase, pinmask ) != 0 ) return 0; if( MAP_GPIOPinIntStatus( portbase, true ) & pinmask ) { if( clear ) MAP_GPIOPinIntClear( portbase, pinmask ); return 1; } return 0; }