Gast
#342791
Hallo, ich habe mal einige Fragen zum Interrupt-Vector der ja eigentlich als aller erstes bei 0x0000 abgelegt wird damit ein entsprechender Interrupt der diese Adresse anspringt zur eigentlichen Interruptroutine umgeleitet wird. z.B. .org 0x0000 rjmp main rjmp Ext_Int0 rjmp Ext_Int1 ... ... Wenn ich allerdings keine Interrupts verwende, könnte ich doch das ausfüllen der ganzen Sprünge (außer rjmp main) weglassen und durch CLI(Clear Globel Interrupt Flag) verhindern das ein Interrupt den Befehl an seiner Interruptadresse ausführt den ich ja garnicht gesetzt habe? Oder doch lieber alles mit reti's ausfüllen Angenommen ich nutze CLI nicht und es wird der Interruptvektor angesprungen ohne das dort was steht, läuft dann das Programm dort weiter und trifft irgendwann wieder aufs Main-Programm wodurch ich einen unerwünschten Neustart habe oder hängt sich der AVR dort auf. Ich nutze in meinem Programm den ADC frage aber das ADIF-Bit(Wandlung fertig) manuell ab. Weiterhin nutze ich die 8bit PWM-Einheit im Fast-PWM Modus und hier wird doch der Pin auch automatisch getoggelt und es braucht keine Interruptroutine. Also wie würdet ihr es verhindern das unerwartet ein Interrupt was durcheinander bringt. Würde gerne auf den Interruptvektor verzichten, da auf dem Laptop die Auflösung eh nicht so hoch ist und man da eh immer ne ganze weile blättern muss weil das Prog etwas größer ist.