max186 (ADC) über SPI ansprechen

OP #233007
Lesenswert?

Moin,

ich möchte einen 12 Bit-AD-Wandler über die SPI-Schnittstelle
des Atmega16 oder des Atmega32 ansprechen. Bei meinem Programm
ergibt die Ausgabe allerdings immer 0, auch wenn ich Spannung
anlege. Ein Problem ist sicherlich, dass die Kommunikation (SPDR)
nur 8 Bit lang ist aber "das Ergebnis" eigentlich 12 Bit lang.
Leider weiss ich nicht wie ich das ändern kann, allerdings würde
mir notfalls auch 8 Bit Auflösung reichen.

Leider weiss ich auch nicht genau was mit "gleichzeitig" beim
Datenaustausch zwischen Master und Slave gemeint ist,
ist das ablesen des SPDR nach meiner Anfrage überhaupt richtig
oder muss man "gleichzeitig" ablesen?!

Da ich nicht weiss wie man eine zweite Datei anhängt werde ich das
Anschlussbild in einer "Antwort" schreiben.

Vielen Dank
Matthias
Angehängte Dateien:
Gast #233010
Lesenswert?

Das Datenblatt des MAX186 sollte in der Lage sein, zu dem Thema
"Auslesen der Daten" etwas beizutragen.
Bei den mir bekannten Bausteinen (z.B. TLC2543) muss man einfach 2 mal
8 Bit direkt nacheinander auslesen um alle 12 Bit (wahlweise links-
oder rechtsbündig) zu erhalten.

Dieter
Gast #233012
Lesenswert?

Hallo Matthias,

ich stamme nun nicht aus dem Atmel AVR Lager und hab von C nur
rudimentäre Ahnung, aber das
    DDRB = (1 << DD_MOSI) | (1 << DD_SCK);
    DDRB = (1 << PB4); //SS als Augang setzen
ist meiner Meinung nach leicht daneben.
Mit der zweiten Zeile werden nämlich MOSI und SCK wieder von Ausgang
auf Eingang umgeschaltet.
Es müsste nach meinem Verständnis heißen
    DDRB = (1 << DD_MOSI) | (1 << DD_SCK) | (1 << PB4);
dann sind alle 3 Pins als Ausgang geschaltet.

Vielleicht war das schon alles

Gruß
Dieter
Gast #1477137
Lesenswert?

Hi ich habe mal noch eine frage zum MAX186.
ich möchte meine heizungssteuerung mit dem programm profilab30 
realisieren. dazu brauche ich 14 analoge eingäne. nun meine frage, kann 
man den schaltkreis über den seriellen oder parallelen port direkt 
ansteuern?
wenn nicht wie ist es am einfachsten zu realisieren?
für brauchbare tips wäre ich euch dankbar
Thino

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren