回答:
割り込みオン変更と外部割り込みピンの3つの最大の違い:
PICの外部割り込みは、汎用のピン変更割り込みよりも用途が広く、信頼性があります。実用的な場合は前者を使用することをお勧めします。
基本的に、外部割り込みは特定の(立ち上がりまたは立ち下がり、ユーザー定義の)エッジでトリガーされ、変更時の割り込みは任意のエッジ(立ち上がりと立ち下がりの両方)でトリガーされます。
変更時の割り込みは通常、I / Oのハーフバイト用であり、外部割り込みは通常、個々のビット用です。すでに述べたように、IOC ISRで実行する必要があることの1つは、どのビットが変更されたかを把握することです。
IOCは、それを超えて使用するのも少し難しいです。割り込みを有効にする直前にポートを読み取ることが不可欠であり、ISR内のポートを読み取ることがさらに重要です!信号の変化が遅く、ISR内にフラグを設定し、後で、ISRの外で読み取りを行うことができると考えている場合は、もう一度考えてください!ポート(または、正しく呼び出した場合はポートの任意のビット)を読み取ると、割り込みをトリガーするコンパレーターのラッチがリセットされます。ISR内でクリアしないと、ISRを終了したときにすぐに再トリガーされます。これを行うことを覚えている場合、それはすべて良いことですが、ポートに近づいたときに忘れて、ポートを読み取ることができると思う場合、ISRで読み取ることを覚えるまで、少しイライラします。