La interrupción en el cambio es generalmente de medio byte de E / S, donde las interrupciones externas son generalmente para bits individuales. Como ya ha dicho, una cosa que debe hacer en el ISR de IOC es averiguar qué bit (o bits) ha cambiado.
El IOC también es un poco más difícil de usar, incluso más allá de eso. Es imperativo leer el puerto pronto antes de habilitar la interrupción, ¡y aún más importante LEER EL PUERTO dentro de la ISR! Si tiene una señal de cambio lento, y cree que puede establecer una bandera dentro del ISR y hacer su lectura más tarde, fuera del ISR, ¡piénselo nuevamente! La lectura del puerto (o cualquier bit en el puerto, si recuerdo correctamente), restablece el pestillo en el comparador que activa la interrupción. Si no lo borra dentro del ISR, se volverá a activar inmediatamente cuando salga del ISR. Si recuerdas hacer esto, todo está bien, pero si te olvidas y crees que puedes leer el puerto cuando llegues a él, te sentirás un poco frustrado hasta que recuerdes hacer la lectura en el ISR.