我有一个关于使用 Raspberry Pi Pico 生成有限长度方波的问题。例如,我想生成一个有 100 个周期的 20 kHz 方波,或者生成一个精确为 1 ms 的 20 kHz 方波。我无法准确控制它。
生成无限长的方波很容易,网上有很多例子。我可以使用 PIO 来实现它。例如,以下代码可以这样做:
import rp2
from machine import Pin
@rp2.asm_pio(set_init=rp2.PIO.OUT_LOW)
def blink():
set(pins, 1)
set(pins, 0)
sm = rp2.StateMachine(0, blink, freq=25000, set_base=Pin(26))
sm.active(1)
但是,我不知道如何准确控制方波的长度/周期。通过使用 time.sleep() 根本不准确。
先感谢您!