Hallo Herbert,
die Hardwarelösung kommt auch ohne externen Operationsverstärker (s.
Bild im Schmitt-Trigger Artikel)aus, man ersetze ihn durch den AVR:
die Eingänge + und - sind sowieso schon bei Dir angeschlossen, und der
Rückkopplungswiderstand (R3) wird an einen Portausgang angeschlossen.
Zum Verschieben der Schaltschwelle, also zur Erzeugung einer Hysterese,
kann in der Interruptroutine dieser Port auf VCC, GND oder Tristate
geschaltet werden - je nachdem, was sinnvoll ist.
Wenn die Ausgangsimpedanz der Quelle für das IN Signal einigermaßen
paßt, kann R3 auch an den - Eingang angeschlossen werden, die Hysterese
entsteht dann durch Veränderung des zu messenden Signals.
Noch eine Anmerkung zu Deiner Interruptroutine: sprintf() und
UART_putstr() sollten dort nicht enthalten sein, die haben u.U. lange
Laufzeiten, und der UART kann -je nach Implementierung von putstr- die
Interruptroutine für lange Zeit blockieren. Rechne doch mal nach, ob Dir
dabei nicht Meßwerte verloren gehen.
Tip: Für die Simulation solcher Schaltungen bietet sich VMLab an, falls
Du es nicht sowieso schon kennst (kostenlos).
Gruß,
Peter H.