1

我在 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
4

0 回答 0