pyserial 在行尾时停止 while 循环 [英] pyserial when it is the end of the line stop the while loop

查看:35
本文介绍了pyserial 在行尾时停止 while 循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

import serial

arduino = serial.Serial('COM12', 9600, timeout = .1)
arduino_data = [] # declare a list

while True:
    data = arduino.readline()
    if data:
        arduino_data.append(data) # Append a data to your declared list
        print arduino_data

我想知道当 Arduino 端没有更多新行时,我如何跳出 while 循环?

I wonder when there is no more new line from Arduino side, how can i jump out the while loop?

while True:
    data = arduino.readline()
    if data:
        arduino_data.append(data) # Append a data to your declared list
        print arduino_data
        break

它只适用于 1 行.

推荐答案

等待它超时没有任何数据,然后你就知道它完成了.

Wait for it to timeout without any data, then you know it is done.

例如:

import serial

arduino = serial.Serial('COM12', 9600, timeout = .1)
while True:
    data = arduino.readline()
    if data:
        arduino_data.append(data) # Append a data to your declared list
        print(arduino_data)
    else:
        break

这篇关于pyserial 在行尾时停止 while 循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆