external Interrupts bei AT90CAN128

Gast #630534
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
Angehängte Dateien:
Gast #630563
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
Gast #630626
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???

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.