Forum: Mikrocontroller und Digitale Elektronik Neue Probleme mit Interrupt ATtiny45


von Gimpel (Gast)


Lesenswert?

Hallo Leute.

Ich stehe mal wieder vor einem weiteren Problem bei meiner 
Interrupt-funktion am ATtiny 45.

Ich habe gemäss Datenblatt folgende Register gesetzt.

SREG=0x80;  // Global Interrupts ermöglichen
MCUCR=0x03; // Interrupt wird auf die steigende Flanke an INT0 
ausgeloesd

Nun habe ich auf Seite 58 gelesen, dass der mikrocontroller den
"I/O-clock" benötigt um einen Interrupt auf die steigende FlAnke 
auszulösen.

Wie kann ich diesen "I/O-clock" aktivieren? bzw. muss man das überhaupt?

!! Und ich habe auch noch ein zweites Problem :-(
Ich verstehe auch nach durchlesen des AVR-Turtorial nicht, wie ich bei 
auslösen eines Interrupts ein erreignis (in meinem Fall: Variabel um 1 
erhöhen ) ausführen kann (in C).

Danke für eure Hilfe.

von Oops (Gast)


Lesenswert?

Der Hinweis mit dem I/O Clock ist nur relevant falls Du die 
Stromsparmodi benutzt. Man könnte dort auch die I/O Clock abstellen. 
Darf man aber nicht falls Du eben per Interrupt geweckt werden willst. 
Also der Atmel natürlich. Nicht Du!

Dein C-Compiler sollte hoffentlich die Möglichkeit bieten C-Funktionen 
als Folge eines Interrupt aufzurufen. Meist geschieht dies über ein 
spezielles Schlüsselwort INTERRUPT oder ähnliches. Das Manual zum 
C-Compiler sollte darüber Informationen enthalten.

Gruss
Oops

von Gimpel (Gast)


Lesenswert?

wow... das war ja verdammt schnell.
Danke vielmals.
Können Sie mir ev. auch noch sagen für was genau das GIMSK register ist?
habe den Text nicht ganz verstandenund weiss jetzt nicht ob ich dort das 
Bit 6 auch noch auf 1 setzen muss, oder ob die beiden register (MCUCR 
und SREG) ausreichen.

Danke

von Oops (Gast)


Lesenswert?

GIMSK: GLobal Interrupt Mask Register

Tatsächlich musst Du, falls Interrupts bei Pegel oder Flankenwechsel 
stattfinden sollten (so hast Du ja auch MCUCR gesetzt) auch das Bit 6 
setzen damit der Interrupt stattfindet.

Gruss
Oops

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.