Forum: Compiler & IDEs ad-wandler aus gcc-tutorial


von jr (jürgen riehle) (Gast)


Lesenswert?

hi-
Im gcc-tutorial ist eine methode beschrieben (siehe (*)), wie man mit 
dem comparator bei fehlendem adc doch analogwerte ermitteln kann.
Wer hat das schon mal (am besten mit einem attiny2313) probiert?
ich komme vor allem an folgenden stellen nicht weiter:
das bit ACO im ACSR macht, was es soll - nämlich je nach modus (ACIS0 
bzw 1) die eingangswerte vergleichen.
Beim start des aufladevorgangs kann ich (einige cycles verschoben) einen 
Timer starten. Wie aber kann ich mit ACO einen Timer BEENDEN - um die 
zeitdauer des aufladevorgangs zu ermitteln?



(*)
"Das Prinzip der Messung ist nun dem vorhergehenden recht ähnlich. Durch 
Anlegen eines LOW-Pegels an Pin 2 wird der Kondensator zuerst einmal 
entladen. Auch hier muss darauf geachtet werden, dass der Entladevorgang 
genügend lang dauert.
Nun wird Pin 2 auf HIGH gelegt. Der Kondensator wird geladen. Wenn die 
Spannung über dem Kondensator die am Eingangspin anliegende Spannung 
erreicht hat schaltet der Komparator durch. Die Zeit, welche benötigt 
wird, um den Kondensator zu laden kann nun auch wieder als Maß für die 
Spannung an Pin 1 herangezogen werden. "

thx
jr

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Poor man's solution: du lässt ihn einen Interrupt auslösen und liest
dort den Timer aus.  Da hast du natürlich noch die Interruptlatenz.

Einige (neuere?) AVRs können glaub' ich mit dem Komparator auch ein
input capture event eines Timers triggern, aber da müsstest du schon
konkret werden.

von jr (jürgen riehle) (Gast)


Lesenswert?

wie kann der zustand eines einzelnen BITs (ACO) einen interrupt 
auslösen??

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Indem der Analogkomparator einen eigenen Interrupt bekommen hat.

Aber auch ansonsten sind es durchweg einzelne Bits, die Interrupts
auslösen...

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.