レベルベースの割り込みが有効である明らかな状況の1つは、コードが信号の監視を開始したときに、信号が既にその状態になっている状況です。
典型的な例を考えてみましょう...
信号: "Case_Over_Temperature"ボックス内の周囲が高すぎて通常の操作ができない場合に低くなります。
明らかに、この信号は、熱を出しすぎているため、またはボックスが高温の場所に設置されているために、いつでも低下する可能性があります。
明らかに、電源投入時にそのラインはどちらの状態でもあり得ます。今のところ、電源投入コードは見た目だけでなく、割り込みに依存していると仮定しましょう。割り込みがエッジトリガーであり、信号がすでに低い場合、割り込みが有効になると、適切なコードが実行されません。ここでは、レベルセンシティブな割り込みが賢明です。
同様に、プロセッサがスリープ状態にあり、その割り込みでウェイクするように設定されていない場合、そのラインはいつでもLowになる可能性があります。他に何が起きても、その時に割り込みを発生させたいと思います。
確かに、間違いなく、スリープモードプロセッサの普及により、レベルベースの割り込みがより有用になっています。
ただし、コードに関連するすべてのものと同様に、「猫の皮」には常に複数の方法があります。レベルベースを使用しない場合、割り込みピンがプロセッサによって自動的にキューに入れられない場合、ウェイクアップコードは割り込みピンをポーリングする必要があります。
明らかに、レベルトリガーには、コードが処理済みであるという条件などを処理する必要があるという点で、独自の一連の問題も伴います。