www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik external Interrupts bei AT90CAN128


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

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich habe leichte Schwierigkeiten mit den externen Interrupts. Folgendes 
möchte ich machen. Ein vergleiche 2 Spannungen mit jeweils einem 
Komparator. Insgesamt habe ich 8 Komparatoren. Wird eine der Spannungen 
größer als die andere an einem Komparator bekomme ich natürlich ein 5V 
Signal, welches mir jeweils an den INTx Pins einen Interrupt bei 
steigender Flanke erzeugen soll. Dadurch soll einfach per UART ein 
String ausgegeben werden. Bei INT0 - INT3 funktioniert das hervorragend. 
Bei INT4 - INT7 hingegen nicht, da sowohl bei der steigenden Flanke als 
auch bei der fallenden Flanke ein Interrupt generiert wird und somit da 
immer das doppelte gesendet wird. Es wird sicherlich daran liegen, daß 
Interrupts an INT0-INT3 asynchron und INT4-INT7 synchron detektiert 
werden. Aber was das so genau heissen soll weiß ich nicht und wie ich 
das hinbekomme dass es funktioniert wie es soll. Kann mir jemand einen 
Tipp geben? C Code ist im Anhang.

Danke

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du vielleicht den PORT E als Ausgang geschaltet? Damit legst Du Dir 
ja dann automatisch den Input auf High.

Die Syncron und Asyncron bezieht sich wohl auf die Systemclock. INT 4:7 
wird syncron mit der Systemclock ausgelesen. Und ohne Systemclock kein 
Interrupt...deswegen kann man nur mit Int0:3 den µC aus dem Schalf 
holen.

Warum das so ist!? keine ahnung!...wird sicher was mit den Resourcen zu 
tun haben. Aber sicher nichts mit Deinem Problem


Gruss Ralf

Autor: Kornelius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, Port E ist Eingang bzw. die Interrupt Pins (DDRE = 0x03;)
Aber dennoch ist es merkwürdig, dass bei der Einstellung "nur auf 
steigende Flanke Interrupt auslösen" sowohl steigende als auch fallende 
Flanke einen Interrupt auslöst... Wieso nur???

Autor: Kornelius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Idee??? :-(

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.