2016-07-19 10 views
0

ich ein Python-Code haben, der durchden Durchschnitt der seriellen Schnittstelle Daten bekommen

RS232 seriellen Daten liest
import serial 
import time 

ser = serial.Serial('/dev/ttyUSB0', 2400, timeout=1) 

while True: 
str1 = ser.read(1) 
if str1 == '': 
    print 'no data on line' 
else: 
    print str1 

das mich zurück

no data on line 
no data on line 
no data on line 
no data on line 
206 
210 
212 
200 

es mic-Lesewerte des lassen Sie uns diese Zahlen sind Grad annehmen um einen Motor zu bewegen Ich möchte die Durchschnittszahl bekommen, um den Motor zu bewegen.

Antwort

0
import serial 
import time 
data_sum = [] 
ser = serial.Serial('/dev/ttyUSB0', 2400, timeout=1) 

while True: 
    str1 = ser.read(1) 
    if str1 == '': 
     print 'no data on line' 
    else: 
     data_sum.append(int(str1) 

ave = sum(data_sum)/len(data_sum) 
+0

Was ist der Unterschied zwischen append und extend? –

+0

append fügt ein Element zu einer Liste hinzu. extend fügt eine Liste zu einer Liste hinzu - nicht als Unterliste, sondern nur um die Liste zu "erweitern" –

+0

Ich habe gerade Code korrigiert, indem ich data_sum oben als leere Liste hinzugefügt habe. Jede Datenzeile wird an die Liste angehängt. Am Ende wird der Durchschnitt genommen –

Verwandte Themen