Microbit 上 Micropython 命令 time_pulse_us 的问题

Problems with Micropython command time_pulse_us on Microbit

我想请你帮忙。我正在尝试将距离传感器连接到我的 microbit,但是当我使用命令“time_pulse_us”时,它总是给出 -2 或 -1。我阅读了文档,我理解这些数字的含义,但我认为该命令有问题,或者我可能以错误的方式使用它。

在这方面,我写了一个简单的片段来测试命令。你能告诉我它有什么问题吗?

from microbit import * //to import microbit modules
from machine import *  //to import the time_pulse_us command


while True:
    pin1.write_digital(0)
    time = time_pulse_us(pin2, 1) //to begin the timing
    pin1.write_digital(1)         //this pin is connected to an LED    
    sleep(1000)
    value = pin2.read_digital()  //gives 1, as this pin is reading the voltage from the led
    pin1.write_digital(0)        //this will make the time_pulse command to end timing
    display.scroll(time)         //it should display the duration of the pulse. 
                                 //Displays -2 instead.
    display.scroll(value)        //gives 1, as expected

为什么这不起作用?

time_pulse_us() 按顺序运行,而不是在后台运行,因此在调用时它将等待 1 秒以使引脚达到 1,但它不会这样做,因此 time 将设置为-2,在程序继续执行下一个命令之前 write_digital(1).