Forum: Mikrocontroller und Digitale Elektronik Probleme mit Pin Interrupt Atmega168


von Thorsten S. (whitenoise)


Lesenswert?

Hi,

ich habe ein Problem mit dem Pin Change Interrupt beim Atmega. Ich habe 
folgendes laut Datenblatt gemacht:


  // Interrupt
PCICR |=(1<<PCIE1); // PCIE1 pin change interrupt auf  8 bis 14 
aktiviert
PCMSK1|=(1<<PCINT11);   // pcint11 aktivieren
EICRA |=(1<<ISC10) | (1<<ISC11);  // auf steigende Flanke stellen
sei();

Der Pin Interrupt soll auf steigende Flanke reagieren, doch er kommt 
immer auf beiden Flanken. Folgendes habe ich schon probiert:

-EICRA garnicht anrühren (default soll ja 0 sein)
-EICRA = 0 gesetzt
-EICRA = 0xF gesetzt

Hilft alles nicht, reagiert wird immer auf steigende und fallende.

-überprüft ob programm auch wirklich aktuell (anhand ausgabe am display)

Das Signal ist sauber, und prellfrei, es wird eine Variable im Interrupt 
hochgezählt, und diese erhöht sich reproduzierbar immer genau um 1 bei 
fallender sowie steigender Flanke, wie kann das sein?

Dank Euch,
Thorsten

von spess53 (Gast)


Lesenswert?

Hi

>Hilft alles nicht, reagiert wird immer auf steigende und fallende.

Das ist die Eigenart von PIN-Change-Interrupts. EICRA gilt nur für INT0, 
INT1....

MfG Spess

von Thorsten S. (whitenoise)


Lesenswert?

Hallo spess,

wenn ich recht verstehe gilt er also nicht für die Gruppe, sondern die 
EICRA Einstellungen sind (bei Atmega168) für die Pins INT0 und INT1, 
mehr EICRA bits gibt es dort ja nicht... verstehe ich das richtig?

Gruß,
T.

von Justus S. (jussa)


Lesenswert?

Thorsten S. schrieb:
> Hallo spess,
>
> wenn ich recht verstehe gilt er also nicht für die Gruppe, sondern die
> EICRA Einstellungen sind (bei Atmega168) für die Pins INT0 und INT1,
> mehr EICRA bits gibt es dort ja nicht... verstehe ich das richtig?
>
> Gruß,
> T.

jap

von spess53 (Gast)


Lesenswert?

Hi

>verstehe ich das richtig?

Ja. Wenn du mit dem PC-Interrupt nur auf eine bestimmte Flanke reagieren 
willst, dann in der ISR nachsehen, welchen Pegel das Pin hat und beim 
falschen gleich wieder raus.

MfG Spess

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.