2016-07-19 2 views
0

У меня есть код питона, который считывает последовательные данные через RS232получать среднее последовательных данных порта

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 

это возвращает меня

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

это значение микрофонного чтения давайте предположим, что эти цифры градусы для перемещения мотора Я хочу, чтобы номер avarage двигался к нему.

ответ

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

В чем разница между добавлением и расширением? –

+0

append добавляет элемент в список. extend добавляет список в список, а не как подсписок, а просто «расширяет» список. –

+0

. Я просто исправил код, добавив data_sum вверху в качестве пустого списка. Каждая строка данных добавляется к списку. В итоге среднее значение принимается –

Смежные вопросы