Forum: Mikrocontroller und Digitale Elektronik asynchrone Interrupt langsam?


von Herbert (Gast)


Lesenswert?

Hallo zusammen,
ich experimentiere gerade mit einem ATMega88 (8Mhz) rum, dabei bin ich 
auf ein Problem gestoßen.
Der asynchrone Pin-Change-Interrupt PC_INT0 kommt mir zu langsam!
In der ISR wird auf PINB.2 abgefragt, nimmt also nur die steigende 
Flanke.
Wenn ich auf die Taste drücke und dann loslasse (SW-Entprellen 2ms), 
braucht die LED ca. gefühlte 0,5s (leider kein Oszi da). Also eine 
saftige Verzögerung!

Das sollte ja eigentlich nicht merklich verzögert sein!?
Jemand eine Idee? kann das mit dem asynchronen Int zusammen hängen?

danke.

von (prx) A. K. (prx)


Lesenswert?

Nun ist leider mal wieder der Hinweis auf die grad verlegte Glaskugel 
fällig. Aber so viel ist klar: Es ist nicht die Hardware vom AVR, die 
deine halbe Sekunde zur Folge hat. Sondern dein Programm.

von gut und günstig (Gast)


Lesenswert?

Herbert schrieb:
> Das sollte ja eigentlich nicht merklich verzögert sein!?

Richtig!

> Jemand eine Idee?

Zeile 42 im Programm.

> kann das mit dem asynchronen Int zusammen hängen?

Nein, auf gar keinen Fall.

von Peter D. (peda)


Lesenswert?

Meine Glaskugel sagt, der Pin hängt in der Luft und entlädt sich ganz 
langsam.
Floatende Pins -> ganz schlecht.


Peter

von pullup (Gast)


Lesenswert?

Peter Dannegger schrieb:
> der Pin hängt in der Luft

Pullup ab.

von Herbert (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Meine Glaskugel sagt, der Pin hängt in der Luft und entlädt sich ganz
> langsam.

ha! danke das könnte tatsächlich der entscheidende hinweis gewesen sein!
da werd ich gleich mal einen PD dran hängen (ich zieh das signal gegen 
vcc)!

von Herbert (Gast)


Lesenswert?

Tada! Danke geht!
-> to be closed!

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.