проверить данные последовательного порта, пока не будет сделано - PullRequest
0 голосов
/ 21 декабря 2018

Я создаю несколько графиков с использованием последовательных данных. Я разделяю последовательные данные с помощью функции split () и присваиваю все и каждый данные различным переменным с помощью этого кода. Это работает нормально. Но иногда при запуске программыполученные данные от последовательного порта меньше в цифрах. Это создает ошибку индекса. Как я могу сказать моему коду ждать всех данных последовательного порта. Например, число данных, отправляемых с последовательного порта, равно шесть.подождите, пока все шесть данных не будут получены. И используя эти данные, я строю различные графики в цикле. Мне нужно сохранить каждый график под другим именем.

Я использую Python 3.5, Matplotlib для graph.i пытались сохранить один граф.

import matplotlib.pyplot as plt
import numpy as np
import time
import serial

plt.ion()
s = serial.Serial('/dev/ttyACM0', 9600)


def graph():
    ser = s.readline()
    i = ser.split()
    q = (int(i[0]))
    w = (int(i[1]))
    e = (int(i[2]))
    r = (int(i[3]))
    t = (int(i[4]))
    u = (int(i[5]))
    print(q,w,e,r,t,u)
    print(i)
    y =(q,w,e,r,t,u)
    x=(1,2,3,4,5,6)
    plt.ylabel("pressure(psi)")
    plt.xlabel('Number of Sensors')
    plt.plot(x,y)
    plt.draw()
    plt.savefig('books_read.png')
    plt.pause(1)
    plt.clf()
while True:
    graph()

Я ожидаю, что программа должна ждать всех данных в первый раз. Исохранить каждый график.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...