gpt4 book ai didi

Python Pyserial 串行缓冲区

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:08 25 4
gpt4 key购买 nike

我正在尝试以 Python 允许我通过串行端口的速度进行写入和读取。问题是我正在快速写入并且它不起作用。我相信问题出在串行缓冲区上,而且我可能过度写入了输入缓冲区。我可以增加输入和输出缓冲区吗?它们是否有任何方法、函数或标志来指示缓冲区何时已满、空或忙?我正在尝试尽可能快地一遍又一遍地发送这两个命令

ser = serial.Serial(port=2,baudrate=28800, timeout = 1)
#print ser

ser.flushInput() #flush input buffer, discarding all its contents
ser.flushOutput() #flush output buffer, aborting current output
#and discard all that is in buffer


ON = ":00000008f8"
PGMMEM0 = ":01f0000011FE" #program one memory location

start = timeit.default_timer()

for i in range(10):

ser.write(ON)

end = timeit.default_timer() - start
print end

ser.write(PGMMEM0)

end = timeit.default_timer() - start
print end

最佳答案

是的,您可以使用 Serial.outWaiting()检查仍有多少数据等待发送的方法。

我不确定 Serial.write() 方法的具体行为,如果它只是在返回之前将数据添加到内部缓冲区。它必须是这样才能满足上述要求,但另一方面有 nonblocking()使其无阻塞。这有点令人困惑。

关于Python Pyserial 串行缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27130423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com