我在 python 中使用 NRF24L01,我对读取数据感到困惑。我有简单的功能来读取数据 20 秒。如果我得到一些数据没有问题,但如果没有无线电信号,我的程序会停留在“radio.read(revc_buffer)”上,直到它得到数据。有一个选择来对抗这个吗?设置某种超时?
def recv():
global dictt
radio.openWritingPipe(pipes[0])
radio.openReadingPipe(1, pipes[1])
radio.startListening()
radio.stopListening()
radio.printDetails()
radio.startListening()
t_end = time.time() + 20
while time.time() < t_end:
pipe = [0]
while not radio.available(pipe):
time.sleep(1000/1000000.0)
recv_buffer = []
radio.read(recv_buffer)
if recv_buffer[0] == 144:
list_temp.append(recv_buffer)
print(list_temp)
return