上下文是 raspberry pi,以及您对一件事执行操作(例如发送信号)并等待某事发生(例如在世界上最广泛的意义上在另一个“通道”上接收响应)的情况,即一些可能“看起来像”电话但实际上不是的东西。
例如,考虑一个反应游戏,其中付款人必须在 LED 灯点亮后快速按下按钮。
一个 LED 灯亮起
系统等待直到按钮被按下
按下按钮时,等待结束并发生一些事情(例如计算增量时间)
我的第一次(也是工作中的)尝试和我发现的示例按以下方式工作:
def button_not_still_pressed():
return True if "Button has not been still pressed", e.g. voltage is low
# this function does the check (e.g. reads a pin or performs any other test
# depending on the application
while button_not_still_pressed():
pass # Please note: non tome.sleep() here
do_whatever_when_button_is_pressed()
在实践中,它似乎有效。
我的担忧是:
无限期/长循环会导致系统挂起吗?
一般来说,python 在上面的 while 循环中做什么?
特别是,对于像这样的设备,执行发送信号并等待这样的任务的最佳方式是什么?
芜湖不芜
相关分类