Struct SPI2

Source
pub struct SPI2 { /* private fields */ }

Implementations§

Source§

impl SPI2

Source

pub const PTR: *const <SPI2 as Deref>::Target = {0x60081000 as *const <esp32c6::SPI2 as core::ops::Deref>::Target}

Pointer to the register block

Source

pub unsafe fn steal() -> SPI2

Unsafely create an instance of this peripheral out of thin air.

§Safety

You must ensure that you’re only using one instance of this type at a time.

Source

pub const fn ptr() -> *const <SPI2 as Deref>::Target

Return the pointer to the register block

Methods from Deref<Target = RegisterBlock>§

Source

pub fn cmd(&self) -> &Reg<CMD_SPEC>

0x00 - Command control register

Source

pub fn addr(&self) -> &Reg<ADDR_SPEC>

0x04 - Address value register

Source

pub fn ctrl(&self) -> &Reg<CTRL_SPEC>

0x08 - SPI control register

Source

pub fn clock(&self) -> &Reg<CLOCK_SPEC>

0x0c - SPI clock control register

Source

pub fn user(&self) -> &Reg<USER_SPEC>

0x10 - SPI USER control register

Source

pub fn user1(&self) -> &Reg<USER1_SPEC>

0x14 - SPI USER control register 1

Source

pub fn user2(&self) -> &Reg<USER2_SPEC>

0x18 - SPI USER control register 2

Source

pub fn ms_dlen(&self) -> &Reg<MS_DLEN_SPEC>

0x1c - SPI data bit length control register

Source

pub fn misc(&self) -> &Reg<MISC_SPEC>

0x20 - SPI misc register

Source

pub fn din_mode(&self) -> &Reg<DIN_MODE_SPEC>

0x24 - SPI input delay mode configuration

Source

pub fn din_num(&self) -> &Reg<DIN_NUM_SPEC>

0x28 - SPI input delay number configuration

Source

pub fn dout_mode(&self) -> &Reg<DOUT_MODE_SPEC>

0x2c - SPI output delay mode configuration

Source

pub fn dma_conf(&self) -> &Reg<DMA_CONF_SPEC>

0x30 - SPI DMA control register

Source

pub fn dma_int_ena(&self) -> &Reg<DMA_INT_ENA_SPEC>

0x34 - SPI interrupt enable register

Source

pub fn dma_int_clr(&self) -> &Reg<DMA_INT_CLR_SPEC>

0x38 - SPI interrupt clear register

Source

pub fn dma_int_raw(&self) -> &Reg<DMA_INT_RAW_SPEC>

0x3c - SPI interrupt raw register

Source

pub fn dma_int_st(&self) -> &Reg<DMA_INT_ST_SPEC>

0x40 - SPI interrupt status register

Source

pub fn dma_int_set(&self) -> &Reg<DMA_INT_SET_SPEC>

0x44 - SPI interrupt software set register

Source

pub fn w0(&self) -> &Reg<W0_SPEC>

0x98 - SPI CPU-controlled buffer0

Source

pub fn w1(&self) -> &Reg<W1_SPEC>

0x9c - SPI CPU-controlled buffer1

Source

pub fn w2(&self) -> &Reg<W2_SPEC>

0xa0 - SPI CPU-controlled buffer2

Source

pub fn w3(&self) -> &Reg<W3_SPEC>

0xa4 - SPI CPU-controlled buffer3

Source

pub fn w4(&self) -> &Reg<W4_SPEC>

0xa8 - SPI CPU-controlled buffer4

Source

pub fn w5(&self) -> &Reg<W5_SPEC>

0xac - SPI CPU-controlled buffer5

Source

pub fn w6(&self) -> &Reg<W6_SPEC>

0xb0 - SPI CPU-controlled buffer6

Source

pub fn w7(&self) -> &Reg<W7_SPEC>

0xb4 - SPI CPU-controlled buffer7

Source

pub fn w8(&self) -> &Reg<W8_SPEC>

0xb8 - SPI CPU-controlled buffer8

Source

pub fn w9(&self) -> &Reg<W9_SPEC>

0xbc - SPI CPU-controlled buffer9

Source

pub fn w10(&self) -> &Reg<W10_SPEC>

0xc0 - SPI CPU-controlled buffer10

Source

pub fn w11(&self) -> &Reg<W11_SPEC>

0xc4 - SPI CPU-controlled buffer11

Source

pub fn w12(&self) -> &Reg<W12_SPEC>

0xc8 - SPI CPU-controlled buffer12

Source

pub fn w13(&self) -> &Reg<W13_SPEC>

0xcc - SPI CPU-controlled buffer13

Source

pub fn w14(&self) -> &Reg<W14_SPEC>

0xd0 - SPI CPU-controlled buffer14

Source

pub fn w15(&self) -> &Reg<W15_SPEC>

0xd4 - SPI CPU-controlled buffer15

Source

pub fn slave(&self) -> &Reg<SLAVE_SPEC>

0xe0 - SPI slave control register

Source

pub fn slave1(&self) -> &Reg<SLAVE1_SPEC>

0xe4 - SPI slave control register 1

Source

pub fn clk_gate(&self) -> &Reg<CLK_GATE_SPEC>

0xe8 - SPI module clock and register clock control

Source

pub fn date(&self) -> &Reg<DATE_SPEC>

0xf0 - Version control

Trait Implementations§

Source§

impl Debug for SPI2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Deref for SPI2

Source§

type Target = <SPI2 as Deref>::Target

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<SPI2 as Deref>::Target

Dereferences the value.
Source§

impl DerefMut for SPI2

Source§

fn deref_mut(&mut self) -> &mut <SPI2 as Deref>::Target

Mutably dereferences the value.
Source§

impl ExtendedInstance for SPI2

Source§

impl Instance for SPI2

Source§

fn register_block(&self) -> &RegisterBlock

Source§

fn sclk_signal(&self) -> OutputSignal

Source§

fn mosi_signal(&self) -> OutputSignal

Source§

fn miso_signal(&self) -> InputSignal

Source§

fn cs_signal(&self) -> OutputSignal

Source§

fn enable_peripheral(&self)

Source§

fn spi_num(&self) -> u8

Source§

fn init(&mut self)

Initialize for full-duplex 1 bit mode
Source§

fn init_spi_data_mode( &mut self, cmd_mode: SpiDataMode, address_mode: SpiDataMode, data_mode: SpiDataMode, )

Source§

fn setup(&mut self, frequency: Rate<u32, 1, 1>, clocks: &Clocks<'_>)

Source§

fn set_data_mode(&mut self, data_mode: SpiMode) -> &mut Self

Source§

fn ch_bus_freq(&mut self, frequency: Rate<u32, 1, 1>, clocks: &Clocks<'_>)

Source§

fn read_byte(&mut self) -> Result<u8, Error<Error>>

Source§

fn write_byte(&mut self, word: u8) -> Result<(), Error<Error>>

Source§

fn write_bytes(&mut self, words: &[u8]) -> Result<(), Error>

Write bytes to SPI. Read more
Source§

fn read_bytes(&mut self, words: &mut [u8]) -> Result<(), Error>

Read bytes from SPI. Read more
Source§

fn read_bytes_from_fifo(&mut self, words: &mut [u8]) -> Result<(), Error>

Read received bytes from SPI FIFO. Read more
Source§

fn busy(&self) -> bool

Source§

fn flush(&mut self) -> Result<(), Error>

Source§

fn transfer<'w>(&mut self, words: &'w mut [u8]) -> Result<&'w [u8], Error>

Source§

fn start_operation(&self)

Source§

fn init_half_duplex( &mut self, is_write: bool, command_state: bool, address_state: bool, dummy_idle: bool, dummy_state: bool, no_mosi_miso: bool, )

Source§

fn write_bytes_half_duplex( &mut self, cmd: Command, address: Address, dummy: u8, buffer: &[u8], ) -> Result<(), Error>

Source§

fn read_bytes_half_duplex( &mut self, cmd: Command, address: Address, dummy: u8, buffer: &mut [u8], ) -> Result<(), Error>

Source§

fn update(&self)

Source§

fn configure_datalen(&self, len: u32)

Source§

impl Instance for SPI2

Source§

fn register_block(&self) -> &RegisterBlock

Source§

fn sclk_signal(&self) -> InputSignal

Source§

fn mosi_signal(&self) -> InputSignal

Source§

fn miso_signal(&self) -> OutputSignal

Source§

fn cs_signal(&self) -> InputSignal

Source§

fn enable_peripheral(&self)

Source§

fn spi_num(&self) -> u8

Source§

fn init(&mut self)

Initialize for full-duplex 1 bit mode
Source§

fn set_data_mode(&mut self, data_mode: SpiMode) -> &mut Self

Source§

fn is_bus_busy(&self) -> bool

Source§

fn flush(&mut self) -> Result<(), Error>

Source§

fn setup_for_flush(&self)

Source§

impl<TX, RX> InstanceDma<TX, RX> for SPI2
where TX: Tx, RX: Rx,

Source§

fn transfer_in_place_dma<'w>( &mut self, words: &'w mut [u8], tx: &mut TX, rx: &mut RX, ) -> Result<&'w [u8], Error>

Source§

fn transfer_dma<'w>( &mut self, write_buffer: &'w [u8], read_buffer: &'w mut [u8], tx: &mut TX, rx: &mut RX, ) -> Result<&'w [u8], Error>

Source§

fn start_transfer_dma<'w>( &mut self, write_buffer_ptr: *const u8, write_buffer_len: usize, read_buffer_ptr: *mut u8, read_buffer_len: usize, tx: &mut TX, rx: &mut RX, listen: bool, ) -> Result<(), Error>

Source§

fn write_bytes_dma<'w>( &mut self, words: &'w [u8], tx: &mut TX, ) -> Result<&'w [u8], Error>

Source§

fn start_write_bytes_dma<'w>( &mut self, ptr: *const u8, len: usize, tx: &mut TX, listen: bool, ) -> Result<(), Error>

Source§

fn start_read_bytes_dma<'w>( &mut self, ptr: *mut u8, len: usize, rx: &mut RX, listen: bool, ) -> Result<(), Error>

Source§

fn dma_peripheral(&self) -> DmaPeripheral

Source§

fn enable_dma(&self)

Source§

fn clear_dma_interrupts(&self)

Source§

impl<TX, RX> InstanceDma<TX, RX> for SPI2
where TX: Tx, RX: Rx,

Source§

fn start_transfer_dma( &mut self, write_buffer_ptr: *const u8, write_buffer_len: usize, read_buffer_ptr: *mut u8, read_buffer_len: usize, tx: &mut TX, rx: &mut RX, ) -> Result<(), Error>

Source§

fn start_write_bytes_dma( &mut self, ptr: *const u8, len: usize, tx: &mut TX, ) -> Result<(), Error>

Source§

fn start_read_bytes_dma( &mut self, ptr: *mut u8, len: usize, rx: &mut RX, ) -> Result<(), Error>

Source§

fn dma_peripheral(&self) -> DmaPeripheral

Source§

fn enable_dma(&self)

Source§

fn clear_dma_interrupts(&self)

Source§

impl Peripheral for SPI2

Source§

type P = SPI2

Peripheral singleton type
Source§

unsafe fn clone_unchecked(&mut self) -> <SPI2 as Peripheral>::P

Unsafely clone (duplicate) a peripheral singleton. Read more
Source§

fn into_ref<'a>(self) -> PeripheralRef<'a, Self::P>
where Self: 'a,

Convert a value into a PeripheralRef. Read more

Auto Trait Implementations§

§

impl Freeze for SPI2

§

impl RefUnwindSafe for SPI2

§

impl Send for SPI2

§

impl Sync for SPI2

§

impl Unpin for SPI2

§

impl UnwindSafe for SPI2

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.