The 2 highest gpio pins (14 & 15) are not driven & float high (checked on a scope). I have tried another Pico & moving
the base bin with the same results, the upper 2 pins don't get driven. The code re-written in C works fine.
Am I missing something here or is there a limit in Micropython of 8 pins in the asm_pio decorator out_init=().
Many thanks.
Code: Select all
from rp2 import PIO, StateMachine, asm_pio
from machine import Pin
@asm_pio(out_init=(PIO.OUT_LOW, PIO.OUT_LOW, PIO.OUT_LOW, PIO.OUT_LOW,
PIO.OUT_LOW, PIO.OUT_LOW, PIO.OUT_LOW, PIO.OUT_LOW,
PIO.OUT_LOW, PIO.OUT_LOW),
out_shiftdir=PIO.SHIFT_RIGHT, autopull=True, pull_thresh=10)
def limited():
out(pins, 10)
sm1 = StateMachine(1, limited, freq=1000, out_base=Pin(6))
sm1.active(1)
sm1.put(0x00)