mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 12bit Ergebnis von MAX186 über SPI nach ATMega8535


Autor: Ralf Fischer (rfischer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich bin noch nicht so lange dabei mit µControllern und dergleichen und 
habe deswegen mal ne Frage zur Auswertung des Conversion Ergebnisses des 
ADC MAX186. Der 12bit Wandler soll über SPI mit einem Mega8535 
ausgelesen werden. Der Code den ich habe (s. Anhang) funktioniert auch. 
Allerdings verstehe ich nicht, wieso. Die Funktion gibt das High- und 
Lowbyte zusammen zurück, nach verschieben mit
SampleH<<6
 und
SampleL>>2
 Nach dem Datenblatt des ADC 
(http://www.maxim-ic.com/getds.cfm/qv_pk/1070) gibt er aber die 12bit 
mit einer führenden und 3 nachgestellten Nullen aus. Wenn ich das 
nachrechne dann kommt bei mir immer das doppelte raus, da beim 
Verschieben um 2 nach rechts immer eine Null stehen bleibt. Vielleicht 
kan mir jemand erklären, warum die Return-Anweisung dennoch immer das 
richtige Resultat liefert.

Gruß
Ralf

P.S: Irgendwie fuktioniert das Hochladen des Codes nicht. Wenns mir 
einer erklärt mach ich das noch

Autor: Ralf Fischer (rfischer)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ok scheinbar kann man beim Bearbeiten eines Artikels keine Dateien mehr 
anhängen. Deswegen hier.

Autor: Ralf Fischer (rfischer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei etwas stöbern hier im Forum hab ich nen anderen Beispielcode 
gefunden, der das Ergebnis der ADC Wandlung noch auf andere Weise 
bearbeitet:
  res = SPDR;
  res = res << 4;
  
  SPDR = 0xFF;
  while(!(SPSR & (1 << SPIF)));
  res = res + (SPDR >> 4);

Das scheint ja auch zu funktionieren. Erschliesst sich mir aber 
genausowenig. Hat noch niemand sonst mit dem MAX186 gearbeitet?

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.