www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Externer Interrupt wird machmal durch falsche Flanke ausgelöst


Autor: Nico (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

folgendes Problem: Ich habe bei einem ATmega32L den Int 0 auf fallende 
Flanke gestellt.

In der Interrupt-Routine wird Pin B5 getoggelt.
ISR(INT0_vect)
{

PORTB ^= (1<<PB5);
}

Nun ist es aber so, dass der Interrupt manchmal auch von einer 
steigenden Flanke ausgelöst wird.

Im Anhang ein Oszi-"Screenshoot". Das obere Signal ist ein 
Rechtecksignal(Amplitude 3,3 V) auf den entsprechenden Pin für INT0.

Das untere Signal ist an Pin B5 gemessen. Wie man sieht wir manchmal 
auch bei einer steigenden Flanke die Int.-Routine aufgerufen.

Hat jemand einen Idee woran dies liegen könnte?


Grüße

Nico

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Restprogramm? Wird PORTB dort verwendet?

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hoch ist denn die Frequenz des ersten Signales? Wo hast du das 
Eingangssignal gemessen? Was mach der AVR sonnst noch?

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit wieviel Volt betreibst du deinen AVR?

Autor: Nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sonst passiert im Programm nichts, sprich PortB wird nicht weiter 
verwendet.
Habe diese kleine Programm nur um diesem  auf die schliche zu kommen.

Das Signal hat eine Frequenz von 10Hz.

Ich betreibe den Controller mit 3,3 V. Ist eine L-Variante.


Nico

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher kommen die 10Hz? Schon mal dataillierter mit µs-Auflösung auf die 
Flanke gesehen, und zwar diejenige, die falsch reagiert und am Pin vom 
Controller gemessen.

Autor: Nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 10Hz kommen aus einem Funktionsgenerator.
Die Flanke habe ich mir noch nicht im Detail angesehen...

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo warte mal in IRQ für 5us und prüfe dann den Pegel am Pin. Wenn 
dieser high ist schaltest du den andern Pin. Dann kannst du besser 
Triggern.

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.