我有一个python脚本,可通过串行接口与设备通信。有一个要执行的功能my_fn()
,它会向串行接口发送一些命令,并等待recieved_fn()
被设备触发。如果recieved_fn()
在5秒钟内未触发,请再次执行my_fn()
。
如何监视recieved_fn()
是否在5秒钟内执行。
我在Windows 10上运行python 2.7。
谢谢
答案 0 :(得分:0)
不幸的是,如果不查看代码和使用的内容,很难提供通用的正确答案。您的代码中究竟在调用received_fn
是什么?
您是否正在使用某种允许事件注册的事件循环?如果是,那么还应该使用该事件循环的计时方法来使触发超时。
更通用的方法是使用全局变量或属性进行监视。
如果您正在使用线程,则可能想要一个事件对象,因为它们允许超时等待:https://docs.python.org/3/library/threading.html#event-objects