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.
[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]
Ich kann das Problem nicht erkennen. deswegen habe ich rumgefragt. ich würde mich sehr freuen, wenn mir einer helfen könnte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.