www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD-Wandlerproblem - Fehler gefunden


Autor: Erwin Stache (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AD - Wandlerproblem - Fehler gefunden

Es gibt Situationen, wo selbst Leuten, die schon länger mit Assembler 
programmieren, unglaubliche Fehler unterlaufen - peinlich, peinlich

Das Problem war, Werte wurden ausgelassen, die LSB also fielen weg, so 
daß bei steigender Eingangsspannung die Reihe z.B. so aussah: 
181,182,184,192,193,195.
Genau dieses Problem hatte ich in früheren Arbeiten bereits gelöst, 
indem ich den Prescaler das AD-Wandlers entsprechend eingestellt habe, 
damit die Wandlerfrequenz 200 kHz nicht übersteigt (Siehe Datenblatt).
(4MHz Division Factor z.B. 64, bei 8MHz etwa 128)
Genau das tat ich auch diesmal mit dem 2333 und dennoch, die Werte 
fehlten.

Da ich kaum mit dem Simulator arbeite ist mir der wirklich peinliche 
Fehler nicht aufgefallen.
Erst beim Simulieren merkte ich, daß der Prescaler immer auf 1 gestellt 
war, egal welchen Wert ich ins Register schrieb. Und da dämmerte es mir 
...... und tatsächlich. Ich vergaß einfach nur die 0b vor der Dualzahl 
zu schreiben.

;AD-Wandler

ldi  temp,00000111  ;Teiler = 128  out  ADCSR,temp

richtig ist 0b00000111


Ist es nicht zum Verzweifeln? Vielen Dank für Eure Hinweise.

Autor: Lanius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hai,

Tippfehler sind viel gemeiner als Programmfehler :)

>richtig ist 0b00000111

wie schreibt man binäre Zahlen im GCC?

hab aus Verzweiflung schon mit

#define bin00000000 0
#define bin00000001 1
#define bin00000002 2

angefangen

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das geht auch leider nicht anders. Kannst ja die Zahlen in Hex 
schreiben, da ist die Umrechnung einfacher als bei dezimal.

MfG
Andreas

Autor: Lanius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hai Andreas,

>Kannst ja die Zahlen in Hex schreiben, da ist die Umrechnung einfacher als bei 
dezimal.

normalerweise nehme ich ja auch hex, nur bei Zeichensätzen oder 
Bitmasken währe es im Listing sehr viel übersichtlicher.

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.