Example #1
0
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;

}
Example #2
0
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();
}