Ngắt khi thay đổi thường là một nửa byte I / O, trong đó các ngắt ngoài thường dành cho các bit riêng lẻ. Như bạn đã nói, một điều bạn cần làm trong IOC ISR là tìm ra bit (hoặc bit) nào đã thay đổi.
IOC cũng khó sử dụng hơn một chút, thậm chí còn hơn thế. Bắt buộc phải đọc cổng sớm trước khi cho phép ngắt, và điều quan trọng hơn nữa là ĐỌC CẢNG bên trong ISR! Nếu bạn có tín hiệu thay đổi chậm và nghĩ rằng bạn có thể đặt cờ bên trong ISR và đọc lại sau, ngoài ISR, hãy suy nghĩ lại! Việc đọc cổng (hoặc bất kỳ bit nào trên cổng, nếu tôi nhớ lại chính xác), đặt lại chốt trên bộ so sánh kích hoạt ngắt. Nếu bạn không xóa nó bên trong ISR, nó sẽ lập tức truy xuất lại khi bạn thoát khỏi ISR. Nếu bạn nhớ làm điều này, tất cả đều tốt, nhưng nếu bạn quên và nghĩ rằng bạn có thể đọc cổng khi bạn tiếp cận nó, bạn sẽ có một chút thất vọng cho đến khi bạn nhớ đọc trong ISR.