Statt das while vorzuziehen gehoert die Abfrage von raw_data *in* die while-Schleife.
Und zwei Funktionen die bis auf einen Index das gleiche machen und auch noch durchnummeriert sind schreibt man stattdessen als eine Funktion ohne Nummerierung, aber mit einem zweiten Parameter fuer den Start-Index. Oder du rufst die Funktion gleich mit raw_data[0:2] und raw_data[2:4] auf, statt das muehselig da drin zu machen - dann sind die Indizes *in* der Funktion immer 0 und 1.
Ausserdem sieht die rumrechnerei darin falsch aus, das verunden eines Wertes von 0-255 mit einem Wert 1536 ergibt *immer* 0. Ob das zur Erklaerung deiner Probleme reicht weiss ich nicht. Aber du solltest dir stattdessen nur die Rohdaten ausgeben lassen, und kannst auch mal probieren MISO auf HIGH bzw. LOW zu ziehen, und spaetestens dann sollte ja etwas deutlich anderes zurueckkommen.
AD Wandler mittels Raspberry Pi auslesen
Vielen Dank!
Ich habe es jetzt anders gelöst und es scheint auch auf dem Board alles zu funktionieren. Das einzige Problem, was ich jetzt noch habe:
Ich habe die 32 Bits nacheinander ausgelesen und in einer Liste gespeichert. In dieser sind ja jetzt 32 Nullen und Einsen. Ich möchte nun jeweils Bit 2-15 und Bit 17-32 aus dieser Liste in integer und binären Werten haben. Dabei soll jeweils Bit 2 und Bit 17 das MSB sein. Leider funktioniert Software wie stiften nicht und eine Schleife mit hochzuholendem Index i und multiplizieren des Listenwertes mit einer 2er Potenz scheint mit etwas viel Aufwand. Kann mir jemand bei diesem letzten Problem bitte nochmal helfe, damit ich Spannungswerte bestimmen kann und nicht nur so doofe Nullen und Einsen rumfliegen habe?
Oder gibt es von vorne rein eine elegantere Lösung als die einzelnen Werte nacheinander in eine Liste zu schreiben?
Ich habe es jetzt anders gelöst und es scheint auch auf dem Board alles zu funktionieren. Das einzige Problem, was ich jetzt noch habe:
Ich habe die 32 Bits nacheinander ausgelesen und in einer Liste gespeichert. In dieser sind ja jetzt 32 Nullen und Einsen. Ich möchte nun jeweils Bit 2-15 und Bit 17-32 aus dieser Liste in integer und binären Werten haben. Dabei soll jeweils Bit 2 und Bit 17 das MSB sein. Leider funktioniert Software wie stiften nicht und eine Schleife mit hochzuholendem Index i und multiplizieren des Listenwertes mit einer 2er Potenz scheint mit etwas viel Aufwand. Kann mir jemand bei diesem letzten Problem bitte nochmal helfe, damit ich Spannungswerte bestimmen kann und nicht nur so doofe Nullen und Einsen rumfliegen habe?
Oder gibt es von vorne rein eine elegantere Lösung als die einzelnen Werte nacheinander in eine Liste zu schreiben?