外部中断测试脉冲宽度
时间: 2023-12-13 16:34:13 浏览: 79
很抱歉,根据提供的引用内容,没有涉及到外部中断测试脉冲宽度的内容。但是,我可以为您介绍一下输入捕获的方法来测试脉冲宽度。
输入捕获是一种用于捕获输入信号的方法,可以用来测试脉冲宽度、高电平时间、低电平时间等。在输入捕获的过程中,通过边沿触发捕获,可以计算出上升沿和下降沿之间的时间,从而得到脉冲的宽度。
下面是一个使用输入捕获测试脉冲宽度的示例代码:
```python
import machine
# 配置输入捕获
tim = machine.Timer(0)
ic = tim.channel(1, mode=machine.Timer.IC, pin=machine.Pin(4))
# 定义回调函数
def cb(t):
print('脉冲宽度为:', ic.pulse_width())
# 注册回调函数
ic.irq(trigger=machine.Timer.IRQ_RISING | machine.Timer.IRQ_FALLING, handler=cb)
# 启动输入捕获
ic.capture()
```
在上面的代码中,我们首先使用`machine.Timer`类创建一个定时器对象,并使用`channel()`方法创建一个输入捕获通道。然后,我们定义了一个回调函数`cb()`,用于在捕获到脉冲时输出脉冲宽度。接着,我们使用`irq()`方法注册回调函数,并使用`capture()`方法启动输入捕获。
当我们运行上面的代码时,它将开始捕获输入信号,并在捕获到脉冲时输出脉冲宽度。
阅读全文