AD7921 programmieren

OP (Firma: HAWK Göttingen) #3999388
Hallo,
 ich bin gerade dabei mit einem AD7921 eine analoge Spannung digital 
umwandeln zu lassen. Das Programm läuft fast gut aber mit einem kleinen 
Fehler.Der AD7921 hat zwei Kanäle wie es im Dattenblatt zu lesen ist:

http://www.analog.com/static/imported-files/data_sheets/AD7911_7921.pdf

mein Programm wandelt nur den Wert am ch0 um.ich weiß jetzt nicht wo das 
Problem liegen könnte.Ich habe mit Arduino Due programmiert.
mein Code sieht so aus:

#include <SPI.h>

int cs = 4;

void setup(){
  pinMode(cs, OUTPUT);                     // Pin cs (chip select) als 
Ausgang definiert
  digitalWrite(cs, HIGH);                  // cs auf 1 setzen
  SPI.begin();                             // Startet die SPI-Bibliothek
  SPI.setDataMode(SPI_MODE0);              // Setzt den SPI-Modus
  SPI.setClockDivider(cs,21);              // Stellt die Geschwindigkeit 
ein
  SPI.setBitOrder(MSBFIRST);               // Setzt die Bit-Reihenfolge 
Most-Significant-Bit, scheint Standart zu sein!!!
  Serial.begin(9600);
}

void loop()
{
  int adcWert0 = readAdc(0);
  int adcWert1 = readAdc(1);
  delay(1000);
 }

 int readAdc(int channel)
 {
   byte adcPrimaryByteMask=00101111;
   byte adcPrimaryRegister=channel<<5;
   digitalWrite(cs, LOW);
   byte adcPrimarybyte = SPI.transfer(adcPrimaryRegister);   // 
niederwertiges Byte zuerst, D15...D8
   byte adcSecondarybyte = SPI.transfer(0x00);               // 
höherwertiges Byte zum Schluss, D7...D0
   digitalWrite(cs, HIGH);
   adcPrimarybyte &= adcPrimaryByteMask;
   adcPrimarybyte = adcPrimarybyte << 8;
   int adcValue = adcPrimarybyte|adcSecondarybyte;
   return adcValue;
 }




hier(im Anhang) ist das vom Oszilloskop angezeigte Ergebnis.

Danke im Voraus.
Angehängte Dateien:
Gast #3999687
[ot]
Ohhh .....
Ist dein Problem so schwerwiegend, dass du gleich mehrere Foren befragen 
musst....

Das habe ich ja gerade noch rechtzeitig gesehen, bevor ich dir das 
Datenblatt vorlesen wollte.
[/ot]

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.