Reading a PCF8575 on an Interrupt

That's how I normally do it. My ISRs are just to set flags. After the flag, the processing would be done in the loop function. That way, I don't spend too long in the ISR. For those that don't know, if you run I2C read in an ISR, it will hang the system which is why you don't want to do an I2C operation from an ISR.