mikrocontroller.net

Forum: Compiler & IDEs AVR Studio Simulieren


Autor: Pier S. (bigpier)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,
Ich bin ein absoluter neuling in sachen Gcc und somit möchte ich mich 
auch schon im Voraus bei Euch enschuldigen das ich sicherlich Dumme 
Fragen stellen werde !!!

Also zu meinem Problem ich habe ein kleines Programm geschrieben 
(Anhang) und möchte es im AVR Studio Simulieren geht so weit auch ganz 
gut , bis auf das das ich nicht verstehe warum beide Interrupt Vectoren 
hintereinander ausgeführt werden !! Was mache ich falsch ???
Herzlichen Dank schon mal im Voraus an Euch allen !!!

PS Ein Grosses Lob für dieses tolle Forum

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe das Problem nicht, denn die müssen hintereinander kommen.

Der INT0 macht ja erst den Counter0 Interrupt scharf (TIMSK |= 
(1<<OCIE0A)). Wenn letzterer dann auftritt, schaltet er sich als erstes 
wieder ab (TIMSK &= ~(1<<OCIE0A)). Die Runde geht dann beim nächsten 
INT0 von vorne los.

Solltest du Probleme damit haben, dass die Counter0-ISR feuert, ohne 
dass es einen INT0 gegeben hat, dann mach die Initialisierung 
ausführlicher als jetzt. D.h. stelle TIMSK bereits im Hauptprogramm vor 
dem sei wunschgemäß ein.

Autor: H.Baydoun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest vielleicht das Interruptflag des Timers zurücksetzen bevor 
Du das Interrupt einschaltest.

Denn das Interruptflag wird gestetzt auch wenn der Interrupt nicht 
eingeschaltet ist.

Autor: Pier S. (bigpier)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank !

Jetzt klappt es !!

Autor: Pier S. (bigpier)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest vielleicht das Interruptflag des Timers zurücksetzen bevor
Du das Interrupt einschaltest.

Vielen Dank !!

Genau dass hab ich übersehen !!

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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.