ich bin neu hier im Forum und ein Einsteiger was die Raspberry bzw. Python Programmierung angeht. Mein Ziel ist es, Sensordaten über" /dev/ttyUSB0" mit 100 Hz auszulesen und in ein csv.file zu schreiben. Mir gelingt es die Daten auszulesen, jedoch habe ich folgendes Problem:

Dies ist ein Ausschnitt aus dem csv.file. Von Zeile 89 auf 90 gibt es ein Sprung von ca. 8ms. Dieser ist mir nicht erklärbar, da ich eigentlich erwarte, dass wie in den anderen Zeilen jede Millisekunde eine neue Datenlinie geschrieben wird. (ich habe somit nur 92 statt 100 Einträge pro Sekunde). Dieser 8ms Sprung findet nicht immer zur gleichen Zeit statt sondern taucht pro Sekunde einmal willkürlich auf.
Der verwendete Code ist folgender:
Code: Alles auswählen
import serial
import datetime
import time
ser = serial.Serial('/dev/ttyUSB0', 115200)
logfile = open('uart_pogger.csv', 'w')
buffer = ''
while True:
data = ser.read().decode() # Dekodieren Sie die empfangenen Bytes
if data == '\n':
timestamp = datetime.datetime.now().strftime('%H:%M:%S:%f')
log_entry =f'{timestamp}: {buffer}\n'
logfile.write(log_entry)
logfile.flush()
# Buffer zurücksetzen
buffer = ''
else:
buffer += data
# Logdatei und serielle Verbindung schließen
logfile.close()
ser.close()
Vielen Dank schonmal.

Grüße
Basti