import machine
import utime
import rp2
@rp2.asm_pio(set_init=(rp2.PIO.OUT_LOW,rp2.PIO.OUT_LOW,rp2.PIO.OUT_LOW))
def blink():
wrap_target()
set(pins, 0b101) [14]
set(x, 30)
# 循环次数:(30+1) * (32+32) = 1984
label('high_loop')
nop() [31]
jmp(x_dec, 'high_loop') [31]
set(pins, 0b010) [13]
set(x, 30)
# 循环次数:(30+1) * (32+32) = 1984
label('low_loop')
nop() [31]
jmp(x_dec, 'low_loop') [31]
irq(rel(0))
wrap()
sm = rp2.StateMachine(0, blink, freq=2000, set_base=machine.Pin(18))
def elapsed_time_handler(pin):
global start
end = utime.ticks_us()
print(utime.ticks_diff(end, start))
start = end
sm.irq(elapsed_time_handler)
start = utime.ticks_us()
sm.active(1)