Struct rp2040_pac2::pio::Pio [−][src]
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]
fn clone(&self) -> Pio
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Pio
[src]
impl Send for Pio
[src]
impl Sync for Pio
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,