Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR-GCC Frage
krischan100
23.01.2004, 09:16
Hallo,
kann mir jemand von euch mal sagen was der eindeutige Unterschied zwischen folgenden Befehlen ist:
INTERRUPT
SIGNAL
Denn laut der Dokumentation geht es nicht ganz hervor. Und welches der beiden sollte man am besten einsetzen?
Danke
Krischan
. Und welches der beiden sollte man am besten einsetzen?
für was willst du denn einen dieser befehle einsetzen??
gruss
krischan100
23.01.2004, 09:35
Ich möchte die Internen und Externen INTERRUPT´s auswerten.
AVR-GCC gibt mir hierfür aber zwei Befehle zur Verfügung.
Ich habe mit beiden jeweils etwas experimentiert und bin zu keinem richtigen Ergebniss gekommen, daher stelle ich hier mal die Frage.
Krischan
Der Unterschied besteht darin, das eine INTERRUPT Routine unterbrochen werden kann, während die SIGNAL Routine erst komplett abgearbeitet wird. Im Zweifelsfall sollte man aber immer SIGNAL nehmen, da zum Beispiel INTERRUPT in Zusammenhang mit dem UART Empfang zu einigen Lustigen Fehlern bzw. Stack überlaufen führen kann.
Die Bezeichnung ist vielleicht etwas ungünstig Gewählt, da man zuerst denkt man sollte die INTERRUPT Routine benutzen ( Ging mir auch zuerst so ;) )
Und eigentlich steht das in der Dokumentation genau so drinnen ;), ist nur vielleicht nicht so schnell zu erkennen...
#define INTERRUPT ( signame )
Introduces an interrupt handler function that runs with global interrupts initially enabled. This allows interrupt handlers to be interrupted.
bzw. :
#define SIGNAL ( signame )
Introduces an interrupt handler function that runs with global interrupts initially disabled.
( Ist aus der Lib C Doku unter "Interrupts and Signals" )
MfG Kjion
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.