mikrocontroller.net

Forum: Compiler & IDEs ADC liefgert immer null


Autor: Woeba (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich versuche schon den halben Tag einen Wert aus dem ADC meines
Controllers herauszubekommen. Der Code, den ich angehängt habe, soll
ein zu einem Servo passendes PWM Signal generieren, und zwar in
Abhängigkeit einer Spannung zwischen 0 und 5 Volt an ADC0-Pin (Poti).
Das PWM klappt auch wunderbar, aber nach jeder AD-Wandlung steht immer
0x00 im ADCL und ADCH Register (mit JTAG nachgesehen). Eigendlich
wollte ich den AD-Wander im Free-Running Modus laufen lassen, aber
selbst mit den entsprechenden Zeilen aus dem Wiki für eine
Single-Conversation klappt es nicht. Habe ich irgendein Bit irgendwo
vergessen?
Ach ja:
Atmega16, 16 MHZ, VREF liegt auf 5 Volt, die Spannung am Pin 0, Port A
ist 2,4 Volt.

P.S.: Wie ist denn nun der aktuielle Stand zu dem 16-Bit Register, in
dem der Wert der AD-Wandlung stehl. Müsste das bei einem avr-Gcc 3.4.1
nun ADC oder ADCW heissen?

Vielen Dank schonmal für Eure Mühen. Ich weiss wirklich nicht mehr
weiter :-/

Woeba

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab's mglw. uebersehen, aber fehlt nicht ein Einstellung des
ADC-Channels (MUX)?

Autor: Woeba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will an PortA, Pin 0 messen. Imho müssten dann alle MUX auf 0
bleiben, was Pin0 entspricht....Ich habe aber auch schonmal Pin1
versucht, und MUX0 auf 1 gesetzt.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht liege ich falsch...
der adc brauch irgendwas zwischen 50 und 200 khz
vielleicht solltest du mal den adc prescaler auf einen anderen wert
setzen... z.B. auf 128

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ADCSRA |= (1<<ADEN);

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder
ADCSRA=(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADEN);

durch die zuweisung mit '=' hast du den prescaler gleich wieder
gelöscht/überschrieben

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.