PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interrupt-Deklaration



Step
24.08.2006, 23:09
Hallo,

ich komme da gerade mit einigen Deklarationen für die Interrupt-Programmierung durcheinander.

Listing 1 ist kallisch nach Bascom-Hilfe oder Wiki.
Listing 2 ist eine Methode nach Hauptthema 3 der Buches "AVR Mikrocontroller Lehrbuch" von R. Walter.

Listing 1:
Config Int0 = Low Level ‘Configuriere Int0 auf Low Level
Enable Interrupts ‘Einschalten der Interrupts
Enable Int0 ‘Einschalten von Interrupt Int0

Listing 2:
Mcucr = &B0000000 'INT0 bei L-Pegel
Gicr = &B01000000 'Interrupts INT0 einschalten
Sreg.7=1 ' Interups global freigeben

Scheint bei beiden Listings das gleiche Ergebnis zu sein oder?
Was ist besser, effektiver, schlechter....?

DANKE!

Wolfram

-tomas-
25.08.2006, 08:55
Bei Listung 1 nimmt Bascom die Registernamen aus der m32def.dat (bzw. Dein Atmega) und baut sich daraus Listing 2 auf.
Leider geht das manchmal schief, so dass Listing 2 der sichere Weg ist.

Step
25.08.2006, 11:19
VIELEN DANK!!

Wolfram

linux_80
25.08.2006, 21:28
Hallo,

ich würde aber trotzdem die Version von Listing 1 verwenden,
denn wenns mal für einen anderen AVR sein soll, kanns sein, das die Register ein wenig anders heissen, und dann klappt das nicht mit dem Compilieren.

Ist dann mehr Arbeit diese ganzen Register wieder zu suchen und den Code zu ändern !

Wenns schon so schöne Befehle in Bascom dafür gibt, warum nicht diese auch verwenden, oder soll das der erste Schritt (Step) zu ASM sein ?

Step
25.08.2006, 21:33
Hallo,

auch ein Aspekt - vielen Dank!
Dann werde ich mal weiter mit Bascom (will nicht auf ASM) deklarieren!

Besten Dank!

Wolfram