Forum: Mikrocontroller und Digitale Elektronik external Interrupts bei AT90CAN128


von Kornelius (Gast)


Angehängte Dateien:

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

von Ralf (Gast)


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

von Kornelius (Gast)


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???

von Kornelius (Gast)


Lesenswert?

Hat keiner eine Idee??? :-(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.