gpt4 book ai didi

python - Python X 秒后超时

转载 作者:行者123 更新时间:2023-12-01 04:44:20 26 4
gpt4 key购买 nike

我正在用 python 编写一个程序,其工作原理如下:

  1. 通过串口获取输入字符串,当按回车键时(回车返回)
  2. 检查 $ 符号是否作为输入字符串的第一个字符出现,然后继续

Problem

如果我没有得到回车CR并且同时或在特定时间间隔后得到另一个字符串,这可能会造成麻烦。为了避免这个问题,我想添加超时 session ,如果未收到回车符,则在特定时间间隔后使前一个缓冲区Null

请查看下面的代码并指导我如何在其中添加超时选项?

CODE

import serial

x = [0,0,0]
ser = serial.Serial('/dev/ttyAMA0', 9600)
buffer = ''
while True:
buffer += ser.read(ser.inWaiting())
if '\n' in buffer:
if buffer[0] == '$':
x1 = buffer.rstrip()
x2= x1.split(",")
print((x2[0]),(x2[1]),(x2[2]))
buffer = ""

最佳答案

我认为你只需要在程序末尾添加这一行。每次输入正确的字符串时,此行都会增加 60 秒

clear_buffer = time.time() + 60

查看下面的代码

import serial
import time

x = [0,0,0]
ser = serial.Serial('/dev/ttyAMA0', 9600)
buffer = ''
clear_buffer = time.time() + 60
while True:
if time.time() >= clear_buffer:
buffer = ''
clear_buffer = time.time() + 60
buffer += ser.read(ser.inWaiting())
if '\n' in buffer:
if buffer[0] == '$':
x1 = buffer.rstrip()
x2= x1.split(",")
print((x2[0]),(x2[1]),(x2[2]))
buffer = ""
clear_buffer = time.time() + 60

关于python - Python X 秒后超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29827608/

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