Struct esp32s2::SPI0

source ·
pub struct SPI0 { /* private fields */ }
Expand description

SPI (Serial Peripheral Interface) Controller 0

Implementations§

source§

impl SPI0

source

pub const PTR: *const RegisterBlock = {0x3f403000 as *const spi0::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn cmd(&self) -> &CMD

0x00 - Command control register

source

pub fn addr(&self) -> &ADDR

0x04 - Address value

source

pub fn ctrl(&self) -> &CTRL

0x08 - SPI control register

source

pub fn ctrl1(&self) -> &CTRL1

0x0c - SPI control register 1

source

pub fn ctrl2(&self) -> &CTRL2

0x10 - SPI control register 2

source

pub fn clock(&self) -> &CLOCK

0x14 - SPI clock control register

source

pub fn user(&self) -> &USER

0x18 - SPI USER control register

source

pub fn user1(&self) -> &USER1

0x1c - SPI USER control register 1

source

pub fn user2(&self) -> &USER2

0x20 - SPI USER control register 2

source

pub fn mosi_dlen(&self) -> &MOSI_DLEN

0x24 - MOSI length

source

pub fn miso_dlen(&self) -> &MISO_DLEN

0x28 - MISO length

source

pub fn misc(&self) -> &MISC

0x2c - SPI misc register

source

pub fn slave(&self) -> &SLAVE

0x30 - SPI slave control register

source

pub fn slave1(&self) -> &SLAVE1

0x34 - SPI slave control register 1

source

pub fn slv_wrbuf_dlen(&self) -> &SLV_WRBUF_DLEN

0x38 - SPI slave Wr_BUF interrupt and CONF control register

source

pub fn slv_rdbuf_dlen(&self) -> &SLV_RDBUF_DLEN

0x3c - SPI magic error and slave control register

source

pub fn slv_rd_byte(&self) -> &SLV_RD_BYTE

0x40 - SPI interrupt control register

source

pub fn fsm(&self) -> &FSM

0x44 - SPI master status and DMA read byte control register

source

pub fn hold(&self) -> &HOLD

0x48 - SPI hold register

source

pub fn dma_conf(&self) -> &DMA_CONF

0x4c - SPI DMA control register

0x50 - SPI DMA TX link configuration

0x54 - SPI DMA RX link configuration

source

pub fn dma_int_ena(&self) -> &DMA_INT_ENA

0x58 - SPI DMA interrupt enable register

source

pub fn dma_int_raw(&self) -> &DMA_INT_RAW

0x5c - SPI DMA interrupt raw register

source

pub fn dma_int_st(&self) -> &DMA_INT_ST

0x60 - SPI DMA interrupt status register

source

pub fn dma_int_clr(&self) -> &DMA_INT_CLR

0x64 - SPI DMA interrupt clear register

source

pub fn in_err_eof_des_addr(&self) -> &IN_ERR_EOF_DES_ADDR

0x68 - The latest SPI DMA RX descriptor address receiving error

source

pub fn in_suc_eof_des_addr(&self) -> &IN_SUC_EOF_DES_ADDR

0x6c - The latest SPI DMA eof RX descriptor address

0x70 - Current SPI DMA RX descriptor pointer

0x74 - Next SPI DMA RX descriptor pointer

0x78 - Current SPI DMA RX buffer pointer

source

pub fn out_eof_bfr_des_addr(&self) -> &OUT_EOF_BFR_DES_ADDR

0x7c - The latest SPI DMA eof TX buffer address

source

pub fn out_eof_des_addr(&self) -> &OUT_EOF_DES_ADDR

0x80 - The latest SPI DMA eof TX descriptor address

0x84 - Current SPI DMA TX descriptor pointer

0x88 - Next SPI DMA TX descriptor pointer

0x8c - Current SPI DMA TX buffer pointer

source

pub fn dma_outstatus(&self) -> &DMA_OUTSTATUS

0x90 - SPI DMA TX status

source

pub fn dma_instatus(&self) -> &DMA_INSTATUS

0x94 - SPI DMA RX status

source

pub fn w0(&self) -> &W0

0x98 - Data buffer 0

source

pub fn w1(&self) -> &W1

0x9c - Data buffer 1

source

pub fn w2(&self) -> &W2

0xa0 - Data buffer 2

source

pub fn w3(&self) -> &W3

0xa4 - Data buffer 3

source

pub fn w4(&self) -> &W4

0xa8 - Data buffer 4

source

pub fn w5(&self) -> &W5

0xac - Data buffer 5

source

pub fn w6(&self) -> &W6

0xb0 - Data buffer 6

source

pub fn w7(&self) -> &W7

0xb4 - Data buffer 7

source

pub fn w8(&self) -> &W8

0xb8 - Data buffer 8

source

pub fn w9(&self) -> &W9

0xbc - Data buffer 9

source

pub fn w10(&self) -> &W10

0xc0 - Data buffer 10

source

pub fn w11(&self) -> &W11

0xc4 - Data buffer 11

source

pub fn w12(&self) -> &W12

0xc8 - Data buffer 12

source

pub fn w13(&self) -> &W13

0xcc - Data buffer 13

source

pub fn w14(&self) -> &W14

0xd0 - Data buffer 14

source

pub fn w15(&self) -> &W15

0xd4 - Data buffer 15

source

pub fn w16(&self) -> &W16

0xd8 - Data buffer 16

source

pub fn w17(&self) -> &W17

0xdc - Data buffer 17

source

pub fn din_mode(&self) -> &DIN_MODE

0xe0 - SPI input delay mode configuration

source

pub fn din_num(&self) -> &DIN_NUM

0xe4 - SPI input delay number configuration

source

pub fn dout_mode(&self) -> &DOUT_MODE

0xe8 - SPI output delay mode configuration

source

pub fn dout_num(&self) -> &DOUT_NUM

0xec - SPI output delay number configuration

source

pub fn lcd_ctrl(&self) -> &LCD_CTRL

0xf0 - LCD frame control register

source

pub fn lcd_ctrl1(&self) -> &LCD_CTRL1

0xf4 - LCD frame control1 register

source

pub fn lcd_ctrl2(&self) -> &LCD_CTRL2

0xf8 - LCD frame control2 register

source

pub fn lcd_d_mode(&self) -> &LCD_D_MODE

0xfc - LCD delay number

source

pub fn lcd_d_num(&self) -> &LCD_D_NUM

0x100 - LCD delay mode

source

pub fn reg_date(&self) -> &REG_DATE

0x3fc - SPI version control

Trait Implementations§

source§

impl Debug for SPI0

source§

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

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

impl Deref for SPI0

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for SPI0

Auto Trait Implementations§

§

impl RefUnwindSafe for SPI0

§

impl !Sync for SPI0

§

impl Unpin for SPI0

§

impl UnwindSafe for SPI0

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.