mikrocontroller.net

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


Autor: jr (jürgen riehle) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: jr (jürgen riehle) (Gast)
Datum:

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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Indem der Analogkomparator einen eigenen Interrupt bekommen hat.

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.