Ich arbeite an einem Projekt, in dem ich Spannungen von einem teensy 2.0 sammeln muss (das ich mit Arduino programmiere) und diese Spannungen an Python sende. Ich muss auch die Mikrosekunde senden, in der die Daten aufgenommen wurden. Ich benutze PySerial, um mit dem Teenager zu kommunizieren. Ich lese zuerst alle meine Daten in ein Array der Länge 3998 ein. Ich habe zwei andere Arrays, ein timeData
Array, das die Mikrosekunden verfolgt, und ein Array, das die Spannungen verfolgt. Jedes Array trägt die Hälfte der Daten oder 1999 Punkte.Python analysiert keine seriellen Daten zu einem Array
Probenteil von SerialData:
b'1468095384\r\n'
b'0.01\r\n'
Dies wird 1999-mal wiederholt erhalten. Der Python-Code nimmt diese Eingaben und schreibt sie in das Array "SerialData". Nachdem es alle Daten fertig Lesen trennt sie alle Punkte in den beiden Feldern wie so:
for i in range (0,3998):
if(i % 2 == 0):
radarData[samples] = float(str(SerialData[i], 'utf-8'))
samples = samples + 1
else:
timeData[samples1] = float(str(SerialData[i], 'utf-8'))
samples1 = samples1 + 1
Proben- und Sample1 sind Zählvariablen.
Von float(str(SerialData[i], 'utf-8'))
Ausdrucken, ich weiß, dass wie ein Schwimmer den String Parsen funktioniert, aber wenn ich radarData[samples]
oder timeData[samples]
ausdrucken, ich sehe nur 0. Was mache ich falsch? Jede Hilfe wird geschätzt.
Danke!
Können Sie zeigen, was in 'SerialData' genau ist? Komm in den Debugger und zeig uns ein paar Dinge. – rrauenza
SerialData ist das gleiche wie die Ausgabe des Teeny @ rrauenza –
Ja, aber ist das '[" b'0.2 \ r \ n '", ...]' oder '[b'0.2 \ r \ n',. ..] ' – rrauenza