www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Externen Interrupt über AVRSim2 auslösen


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: dost0011 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

ich möchte einen externen Interrupt auslösen (INT0 beim ATTINY85) und
habe PORTB mit 0xFF initialiesiert und springe dann auf PORTB = 0 
(fallende Flanke).

Der Port macht exakt das, was ich möchte - ich kriege aber keinen 
externen Interrupt zustande...
Was mache ich falsch?

Konfiguriert habe ich den externen Interrupt so:

/* The falling edge of INT0 generates an interrupt request */
sbi(MCUCR,ISC01);

/* Interrupt Freischaltung INT0 -> Speed */
sbi(GIMSK,INT0);

/* Schaltet den Interrupt frei */
sei();

Könnt ihr mir weiterhelfen?

Autor: spess53 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi

>ich möchte einen externen Interrupt auslösen (INT0 beim ATTINY85) und
>habe PORTB mit 0xFF initialiesiert und springe dann auf PORTB = 0
>(fallende Flanke).

Bezieht sich die Frage auf das Stimuli-File?

MfG Spess

Autor: dost0011 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Du hast schon ganz viele Fragen von mir beantwortet, deshalb kein 
Wunder, dass Du durcheinander kommst :-)

Jein. Ich weiss es nicht.
PORTB = 0 funktioniert. Der Simulator macht es -> aber trotz fallender 
Flanke am PIN INT0 springt der Simulator nicht in die Interrupt Routine 
sondern macht einfach weiter. Wie gesagt: den PIN hat er verändert...

Kann es sein, dass ich besser ein Interruptflag setzen sollte, anstatt 
den PORTB zu bewegen?

Autor: spess53 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi

>Kann es sein, dass ich besser ein Interruptflag setzen sollte, anstatt
>den PORTB zu bewegen?

Hast du es schon mal mit dem Eingangsregister PINB versucht?

MfG Spess

Autor: dost0011 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ja klar! Mann, PortB ist ja auch dämlich. Steht ja überall.
Habs getestet. Funktioniert.
Danke Dir vielmals!!!

Autor: spess53 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi

>Danke Dir vielmals!!!

Nichts zu danken. Mit größerem Abstand zu Problem nimmt auch die 
Betriebsblindheit ab.

MfG Spess

Autor: dost0011 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
So, hoffentlich letzte Frage: :-)

Mein Stimuli File sieht so aus:

#1
PINB = 0xFF
#2000000
PINB = 0x00

Dann kriege ich einen Interrupt nach 2000000 Zyklen. Soweit alles ok.
Jetzt resette ich den Prozessor, Baue evtl. alles nochmal neu, lade das 
Stimuli File nochmal rein (leider muss man das jedes mal machen) und 
lasse das Ding wieder laufen (vorher noch schnell Reset Cycle Counter 
gemacht).

Und siehe da: Er stoppt erst bei 4000000 Zyklen.

und das nächste mal bei 6000000.
Dabei ist die Simulationsdauer nicht etwa konstant, so dass man davon 
ausgehen kann, dass er einfach weiter macht. Nein es dauert jedesmal 
deutlich länger...

Merkt AVR sich da irgendwas oder ist das ein Bug???

Gruß

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net