rp-pac

Crates

git

Versions

rp235x

Flavors

Module rp_pac::pio::regs

source ·

Structs§

  • PIO control register
  • 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.
  • FIFO debug register
  • FIFO levels
  • FIFO status register
  • Relocate GPIO 0 (from PIO’s point of view) in the system GPIO numbering, to access more than 32 GPIOs from PIO. Only the values 0 and 16 are supported (only bit 4 is writable).
  • Write-only access to instruction memory location 24
  • Raw Interrupts
  • State machine IRQ flags register. Write 1 to clear. There are eight 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 eight flags can be used for timing synchronisation between state machines, using IRQ and WAIT instructions. Any combination of the eight flags can also routed out to either of the two system-level interrupt requests, alongside FIFO status interrupts – see e.g. IRQ0_INTE.
  • 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.
  • Current instruction address of state machine 1
  • Clock divisor register for state machine 1 Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)
  • Execution/behavioural settings for state machine 0
  • Read to see the instruction currently addressed by state machine 2’s program counter Write to execute an instruction immediately (including jumps) and then resume execution.
  • State machine pin control
  • Control behaviour of the input/output shift registers for state machine 0