Struct rp2040_pac2::pio::Pio[][src]

pub struct Pio(pub *mut u8);

Programmable IO block

Implementations

impl Pio[src]

pub fn ctrl(self) -> Reg<Ctrl, RW>[src]

PIO control register

pub fn fstat(self) -> Reg<Fstat, RW>[src]

FIFO status register

pub fn fdebug(self) -> Reg<Fdebug, RW>[src]

FIFO debug register

pub fn flevel(self) -> Reg<Flevel, RW>[src]

FIFO levels

pub fn irq(self) -> Reg<Irq, RW>[src]

Interrupt request register. Write 1 to clear

pub fn irq_force(self) -> Reg<IrqForce, RW>[src]

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.

pub fn input_sync_bypass(self) -> Reg<u32, RW>[src]

There is a 2-flipflop synchronizer on each GPIO input, which protects PIO logic from metastabilities. This increases input delay, and for fast synchronous IO (e.g. SPI) these synchronizers may need to be bypassed. Each bit in this register corresponds to one GPIO. 0 -> input is synchronized (default) 1 -> synchronizer is bypassed If in doubt, leave this register as all zeroes.

pub fn dbg_padout(self) -> Reg<u32, R>[src]

Read to sample the pad output values PIO is currently driving to the GPIOs.

pub fn dbg_padoe(self) -> Reg<u32, R>[src]

Read to sample the pad output enables (direction) PIO is currently driving to the GPIOs.

pub fn dbg_cfginfo(self) -> Reg<DbgCfginfo, RW>[src]

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.

pub fn intr(self) -> Reg<Intr, RW>[src]

Raw Interrupts

pub fn txf(self, n: usize) -> Reg<u32, W>[src]

Direct write access to the TX FIFO for this state machine. Each write pushes one word to the FIFO.

pub fn instr_mem(self, n: usize) -> Reg<InstrMem, RW>[src]

Write-only access to instruction memory location 0

pub fn rxf(self, n: usize) -> Reg<u32, R>[src]

Direct read access to the RX FIFO for this state machine. Each read pops one word from the FIFO.

pub fn sm(self, n: usize) -> StateMachine[src]

pub fn irqs(self, n: usize) -> Irq[src]

Trait Implementations

impl Clone for Pio[src]

impl Copy for Pio[src]

impl Send for Pio[src]

impl Sync for Pio[src]

Auto Trait Implementations

impl Unpin for Pio

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.