rp-pac

Crates

4.0.0

Versions

default

Flavors

Module regs

Source

Structs§

Ctrl
PIO control register
DbgCfginfo
The PIO hardware has some free parameters that may vary between chip products. These should be provided in the chip datasheet, but are also exposed here.
Fdebug
FIFO debug register
Flevel
FIFO levels
Fstat
FIFO status register
InstrMem
Write-only access to instruction memory location 28
Intr
Interrupt status after masking & forcing for irq1
Irq
State machine IRQ flags register. Write 1 to clear. There are 8 state machine IRQ flags, which can be set, cleared, and waited on by the state machines. There’s no fixed association between flags and state machines – any state machine can use any flag. Any of the 8 flags can be used for timing synchronisation between state machines, using IRQ and WAIT instructions. The lower four of these flags are also routed out to system-level interrupt requests, alongside FIFO status interrupts – see e.g. IRQ0_INTE.
IrqForce
Writing a 1 to each of these bits will forcibly assert the corresponding IRQ. Note this is different to the INTF register: writing here affects PIO internal state. INTF just asserts the processor-facing IRQ signal for testing ISRs, and is not visible to the state machines.
SmAddr
Current instruction address of state machine 2
SmClkdiv
Clock divisor register for state machine 1 Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)
SmExecctrl
Execution/behavioural settings for state machine 2
SmInstr
Read to see the instruction currently addressed by state machine 0’s program counter Write to execute an instruction immediately (including jumps) and then resume execution.
SmPinctrl
State machine pin control
SmShiftctrl
Control behaviour of the input/output shift registers for state machine 0