慢速Python连续速度

时间:2018-04-22 01:40:58

标签: python-2.7 arduino raspberry-pi pyserial

我已将Arduino UNO连接到我的raspberry pi,并希望使用Python脚本从已连接的Sensor中读取。 当我尝试从Arduino IDE读取传感器数据时,它可以非常快速地工作,但是使用Python它确实很慢。

这是我的代码:

import serial
from subprocess import call
from time import sleep

ser = serial.Serial('/dev/ttyACM0')
ser.baudrate = 9600

a = 0
stop = False

file = open("PulseData/MasterArrayData.txt","w")
if(ser.isOpen() == False):
        ser.open()

print("Start scanning")

while stop == False:
        test = ser.readline()
        try:
                testInt = int(test)
                if testInt > 100 and testInt < 800:
                        print test
                        file.write(str(testInt))
                        file.write("\n")
                        a = a+1
        except ValueError:
                print "Not an integer"
        if(a == 400):
                stop = True
        sleep(0.1)

file.close()


call(["./main", "PulseData/MasterArrayData.txt"])

我已经尝试使用更高的波特率或更短的睡眠时间,但没有成功。

我已经读过使用PyTTY可以提高速度,但不幸的是我没有找到任何关于它的文档。

我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

来自comment by jasonharper

  

在读数之间休息十分之一秒是绝对的保证,你每秒的读数会少于10。当串口缓冲区不可避免地溢出并且字符丢失时,偶尔会发生垃圾值。