Struct esp32_hal::peripherals::SPI3

source ·
pub struct SPI3 { /* private fields */ }

Implementations§

source§

impl SPI3

source

pub unsafe fn steal() -> SPI3

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 PTR: *const <SPI3 as Deref>::Target = {0x3ff65000 as *const <esp32::SPI3 as core::ops::Deref>::Target}

Pointer to the register block

source

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

Return the pointer to the register block

Methods from Deref<Target = RegisterBlock>§

source

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

0x00 -

source

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

0x04 -

source

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

0x08 -

source

pub fn ctrl1(&self) -> &Reg<CTRL1_SPEC>

0x0c -

source

pub fn rd_status(&self) -> &Reg<RD_STATUS_SPEC>

0x10 -

source

pub fn ctrl2(&self) -> &Reg<CTRL2_SPEC>

0x14 -

source

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

0x18 -

source

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

0x1c -

source

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

0x20 -

source

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

0x24 -

source

pub fn mosi_dlen(&self) -> &Reg<MOSI_DLEN_SPEC>

0x28 -

source

pub fn miso_dlen(&self) -> &Reg<MISO_DLEN_SPEC>

0x2c -

source

pub fn slv_wr_status(&self) -> &Reg<SLV_WR_STATUS_SPEC>

0x30 -

source

pub fn pin(&self) -> &Reg<PIN_SPEC>

0x34 -

source

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

0x38 -

source

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

0x3c -

source

pub fn slave2(&self) -> &Reg<SLAVE2_SPEC>

0x40 -

source

pub fn slave3(&self) -> &Reg<SLAVE3_SPEC>

0x44 -

source

pub fn slv_wrbuf_dlen(&self) -> &Reg<SLV_WRBUF_DLEN_SPEC>

0x48 -

source

pub fn slv_rdbuf_dlen(&self) -> &Reg<SLV_RDBUF_DLEN_SPEC>

0x4c -

source

pub fn cache_fctrl(&self) -> &Reg<CACHE_FCTRL_SPEC>

0x50 -

source

pub fn cache_sctrl(&self) -> &Reg<CACHE_SCTRL_SPEC>

0x54 -

source

pub fn sram_cmd(&self) -> &Reg<SRAM_CMD_SPEC>

0x58 -

source

pub fn sram_drd_cmd(&self) -> &Reg<SRAM_DRD_CMD_SPEC>

0x5c -

source

pub fn sram_dwr_cmd(&self) -> &Reg<SRAM_DWR_CMD_SPEC>

0x60 -

source

pub fn slv_rd_bit(&self) -> &Reg<SLV_RD_BIT_SPEC>

0x64 -

source

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

0x80 -

source

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

0x84 -

source

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

0x88 -

source

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

0x8c -

source

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

0x90 -

source

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

0x94 -

source

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

0x98 -

source

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

0x9c -

source

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

0xa0 -

source

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

0xa4 -

source

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

0xa8 -

source

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

0xac -

source

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

0xb0 -

source

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

0xb4 -

source

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

0xb8 -

source

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

0xbc -

source

pub fn tx_crc(&self) -> &Reg<TX_CRC_SPEC>

0xc0 -

source

pub fn ext0(&self) -> &Reg<EXT0_SPEC>

0xf0 -

source

pub fn ext1(&self) -> &Reg<EXT1_SPEC>

0xf4 -

source

pub fn ext2(&self) -> &Reg<EXT2_SPEC>

0xf8 -

source

pub fn ext3(&self) -> &Reg<EXT3_SPEC>

0xfc -

source

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

0x100 -

0x104 -

0x108 -

source

pub fn dma_status(&self) -> &Reg<DMA_STATUS_SPEC>

0x10c -

source

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

0x110 -

source

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

0x114 -

source

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

0x118 -

source

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

0x11c -

source

pub fn in_err_eof_des_addr(&self) -> &Reg<IN_ERR_EOF_DES_ADDR_SPEC>

0x120 -

source

pub fn in_suc_eof_des_addr(&self) -> &Reg<IN_SUC_EOF_DES_ADDR_SPEC>

0x124 -

0x128 -

0x12c -

0x130 -

source

pub fn out_eof_bfr_des_addr(&self) -> &Reg<OUT_EOF_BFR_DES_ADDR_SPEC>

0x134 -

source

pub fn out_eof_des_addr(&self) -> &Reg<OUT_EOF_DES_ADDR_SPEC>

0x138 -

0x13c -

0x140 -

0x144 -

source

pub fn dma_rstatus(&self) -> &Reg<DMA_RSTATUS_SPEC>

0x148 -

source

pub fn dma_tstatus(&self) -> &Reg<DMA_TSTATUS_SPEC>

0x14c -

source

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

0x3fc -

Trait Implementations§

source§

impl Debug for SPI3

source§

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

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

impl Deref for SPI3

§

type Target = <SPI3 as Deref>::Target

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl DerefMut for SPI3

source§

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

Mutably dereferences the value.
source§

impl Instance for SPI3

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<TX, RX> InstanceDma<TX, RX> for SPI3
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 Peripheral for SPI3

§

type P = SPI3

Peripheral singleton type
source§

unsafe fn clone_unchecked(&mut self) -> <SPI3 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 RefUnwindSafe for SPI3

§

impl Send for SPI3

§

impl Sync for SPI3

§

impl Unpin for SPI3

§

impl UnwindSafe for SPI3

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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.