void DataReadyIntHandler(void) { uint8_t p = ROM_GPIOPinIntStatus(ADS_DRY_PORT, true) & 0xFF; MAP_IntDisable(INT_GPIOC); MAP_GPIOPinIntDisable(ADS_DRY_PORT, ADS_DRY_PIN); GPIOPinIntClear(ADS_DRY_PORT, p); HWREGBITW(&g_ulFlags, FLAG_ADS_INT) = 1; }
static void _isr_gpio(uint32_t port_num){ const uint32_t port_addr = _port_base[port_num]; uint32_t isr = ROM_GPIOPinIntStatus(port_addr, true); uint8_t i; for (i=0; i<8; i++, isr>>=1) { if ((isr & 0x1) == 0){ continue; } ROM_GPIOPinIntClear(port_addr, 1 << i); if (gpio_config[port_num][i].cb){ gpio_config[port_num][i].cb(gpio_config[port_num][i].arg); } } cortexm_isr_end(); }