folgende Schritte im Ablauf:
-P2.0,P2.1,P2.3 als Eingang
-P2.0 und P2.2 auf 0,damit kein pullup eingeschaltet ist.
P2.3 einschalten, als Eingang, liest danach Spannung an C
messstart:
Erste Lesephase
-P2.2 als Ausgang (C wird über R aufgeladen )
-gleichzeitig läuft Timer aufwärts.
-Bei Erreichen der 0-1 Schwelle schaltet Pin2.3 auf 1
-Dabei wird capture-int aufgerufen.
(Pin 2.3 musss der capture-input des timers sein)
bei capture-int: Wert des capture-Registers wird zwischengespeichert, in
temp1
-Timer auf Null gestellt und gestoppt, P2.2 auf 0, P2.2 als Eingang
-P2.0 auf 0, P2.0 als Ausgang (C wird entladen)
reti
Zweite Lesephase:
-Timer wird gestartet und P2.0 auf 1(C wird über NTC aufgeladen)
an Pin 2,3 wird capture-int ausgelöst
bei capture -int: Timer auf Null gestellt und gestoppt
P2.0 als Eingang, auf Null
Wert in capture-int in temp2 zwischenspeichern
mit flag markieren, dass ein Messzyklus vorbei ist.
zurück nach messstart
außerhalb der int- zeit:
Messwertverarbeitung:
Das Verhältnis temp1 temp2 entspricht dem Widerastndsverhältnis R
NTC