Nach ungefähr 3 Jahren Arbeit mit MCUs weiß ich immer noch nicht, wozu Software-Interrupts gut sind. Ich habe mehrere Arbeiten mit STM32 ausgeführt und die Software-Interrupts nie verwendet. Dies ist in der Tat eine große Frage für mich:
Warum sollten wir einen Software-Interrupt verwenden, wenn wir eine einfache Funktion zum Ausführen einer Aufgabe verwenden können? Was sind die Unterschiede zwischen einem Software-Interrupt und einer Funktion?
Sie können jederzeit eine Funktion aufrufen (die Sie für Ihren Job geschrieben haben). Die Verwendung eines Software-Interrupts anstelle einer einfachen Funktion sollte einige Vorteile haben. Ich bin mir nicht sicher, aber ich denke, dass Software-Interrupts einen Vorteil haben: Sie können einem Software-Interrupt eine Priorität zuweisen und dann dem Software-Interrupt eine höhere Priorität zuweisen, um zu vermeiden, dass der Hardware-Interrupt Ihre Aufgabe unterbricht.