Das Problem werden vermutlich Störungen sein.
Die Eingänge reagiern ja auch schon auf ziehmlich kurze Störungen - bei ganz kurzen Pulsen nicht unbedingt zuverlässig, aber ab etwa 5 ns Pulslänge könnte der AVR schon gelegentlich reagieren. Das Problem ist ähnlich wie mit eingekoppelten Störungen am Reset Pin. Entsprechend ähnlich ist auch der Lösungsansatz:
1) ein etwas kleineren Pullup (z.B: 10 K)
2) ein kleiner Kondensator gegen GND (z.B. 1 nF)
Es gibt hier auch noch eine Software Lösung, die aber nicht bei jedem Programm geht: In der ISR jeweils nochmal den Eingang testen und so kurze Störungen (sind dann unter etwa 20 Zyklen) erkennen und die ISR gleich wieder verlassen.
Für einen Eingang könnte man eventuell auch den ICP Eingang statt einem externen Interrupt nehmen, der hat eine extra Funktion zur Unterdrückung von Pulsen unter 4 Zyklen.
Lesezeichen