Struct esp32_hal::peripherals::SPI3
source · pub struct SPI3 { /* private fields */ }
Implementations§
source§impl SPI3
impl SPI3
sourcepub unsafe fn steal() -> SPI3
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.
Methods from Deref<Target = RegisterBlock>§
sourcepub fn ctrl1(&self) -> &Reg<CTRL1_SPEC>
pub fn ctrl1(&self) -> &Reg<CTRL1_SPEC>
0x0c -
sourcepub fn rd_status(&self) -> &Reg<RD_STATUS_SPEC>
pub fn rd_status(&self) -> &Reg<RD_STATUS_SPEC>
0x10 -
sourcepub fn ctrl2(&self) -> &Reg<CTRL2_SPEC>
pub fn ctrl2(&self) -> &Reg<CTRL2_SPEC>
0x14 -
sourcepub fn clock(&self) -> &Reg<CLOCK_SPEC>
pub fn clock(&self) -> &Reg<CLOCK_SPEC>
0x18 -
sourcepub fn user1(&self) -> &Reg<USER1_SPEC>
pub fn user1(&self) -> &Reg<USER1_SPEC>
0x20 -
sourcepub fn user2(&self) -> &Reg<USER2_SPEC>
pub fn user2(&self) -> &Reg<USER2_SPEC>
0x24 -
sourcepub fn mosi_dlen(&self) -> &Reg<MOSI_DLEN_SPEC>
pub fn mosi_dlen(&self) -> &Reg<MOSI_DLEN_SPEC>
0x28 -
sourcepub fn miso_dlen(&self) -> &Reg<MISO_DLEN_SPEC>
pub fn miso_dlen(&self) -> &Reg<MISO_DLEN_SPEC>
0x2c -
sourcepub fn slv_wr_status(&self) -> &Reg<SLV_WR_STATUS_SPEC>
pub fn slv_wr_status(&self) -> &Reg<SLV_WR_STATUS_SPEC>
0x30 -
sourcepub fn slave(&self) -> &Reg<SLAVE_SPEC>
pub fn slave(&self) -> &Reg<SLAVE_SPEC>
0x38 -
sourcepub fn slave1(&self) -> &Reg<SLAVE1_SPEC>
pub fn slave1(&self) -> &Reg<SLAVE1_SPEC>
0x3c -
sourcepub fn slave2(&self) -> &Reg<SLAVE2_SPEC>
pub fn slave2(&self) -> &Reg<SLAVE2_SPEC>
0x40 -
sourcepub fn slave3(&self) -> &Reg<SLAVE3_SPEC>
pub fn slave3(&self) -> &Reg<SLAVE3_SPEC>
0x44 -
sourcepub fn slv_wrbuf_dlen(&self) -> &Reg<SLV_WRBUF_DLEN_SPEC>
pub fn slv_wrbuf_dlen(&self) -> &Reg<SLV_WRBUF_DLEN_SPEC>
0x48 -
sourcepub fn slv_rdbuf_dlen(&self) -> &Reg<SLV_RDBUF_DLEN_SPEC>
pub fn slv_rdbuf_dlen(&self) -> &Reg<SLV_RDBUF_DLEN_SPEC>
0x4c -
sourcepub fn cache_fctrl(&self) -> &Reg<CACHE_FCTRL_SPEC>
pub fn cache_fctrl(&self) -> &Reg<CACHE_FCTRL_SPEC>
0x50 -
sourcepub fn cache_sctrl(&self) -> &Reg<CACHE_SCTRL_SPEC>
pub fn cache_sctrl(&self) -> &Reg<CACHE_SCTRL_SPEC>
0x54 -
sourcepub fn sram_cmd(&self) -> &Reg<SRAM_CMD_SPEC>
pub fn sram_cmd(&self) -> &Reg<SRAM_CMD_SPEC>
0x58 -
sourcepub fn sram_drd_cmd(&self) -> &Reg<SRAM_DRD_CMD_SPEC>
pub fn sram_drd_cmd(&self) -> &Reg<SRAM_DRD_CMD_SPEC>
0x5c -
sourcepub fn sram_dwr_cmd(&self) -> &Reg<SRAM_DWR_CMD_SPEC>
pub fn sram_dwr_cmd(&self) -> &Reg<SRAM_DWR_CMD_SPEC>
0x60 -
sourcepub fn slv_rd_bit(&self) -> &Reg<SLV_RD_BIT_SPEC>
pub fn slv_rd_bit(&self) -> &Reg<SLV_RD_BIT_SPEC>
0x64 -
sourcepub fn tx_crc(&self) -> &Reg<TX_CRC_SPEC>
pub fn tx_crc(&self) -> &Reg<TX_CRC_SPEC>
0xc0 -
sourcepub fn dma_conf(&self) -> &Reg<DMA_CONF_SPEC>
pub fn dma_conf(&self) -> &Reg<DMA_CONF_SPEC>
0x100 -
sourcepub fn dma_out_link(&self) -> &Reg<DMA_OUT_LINK_SPEC>
pub fn dma_out_link(&self) -> &Reg<DMA_OUT_LINK_SPEC>
0x104 -
sourcepub fn dma_in_link(&self) -> &Reg<DMA_IN_LINK_SPEC>
pub fn dma_in_link(&self) -> &Reg<DMA_IN_LINK_SPEC>
0x108 -
sourcepub fn dma_status(&self) -> &Reg<DMA_STATUS_SPEC>
pub fn dma_status(&self) -> &Reg<DMA_STATUS_SPEC>
0x10c -
sourcepub fn dma_int_ena(&self) -> &Reg<DMA_INT_ENA_SPEC>
pub fn dma_int_ena(&self) -> &Reg<DMA_INT_ENA_SPEC>
0x110 -
sourcepub fn dma_int_raw(&self) -> &Reg<DMA_INT_RAW_SPEC>
pub fn dma_int_raw(&self) -> &Reg<DMA_INT_RAW_SPEC>
0x114 -
sourcepub fn dma_int_st(&self) -> &Reg<DMA_INT_ST_SPEC>
pub fn dma_int_st(&self) -> &Reg<DMA_INT_ST_SPEC>
0x118 -
sourcepub fn dma_int_clr(&self) -> &Reg<DMA_INT_CLR_SPEC>
pub fn dma_int_clr(&self) -> &Reg<DMA_INT_CLR_SPEC>
0x11c -
sourcepub fn in_err_eof_des_addr(&self) -> &Reg<IN_ERR_EOF_DES_ADDR_SPEC>
pub fn in_err_eof_des_addr(&self) -> &Reg<IN_ERR_EOF_DES_ADDR_SPEC>
0x120 -
sourcepub fn in_suc_eof_des_addr(&self) -> &Reg<IN_SUC_EOF_DES_ADDR_SPEC>
pub fn in_suc_eof_des_addr(&self) -> &Reg<IN_SUC_EOF_DES_ADDR_SPEC>
0x124 -
sourcepub fn inlink_dscr(&self) -> &Reg<INLINK_DSCR_SPEC>
pub fn inlink_dscr(&self) -> &Reg<INLINK_DSCR_SPEC>
0x128 -
sourcepub fn inlink_dscr_bf0(&self) -> &Reg<INLINK_DSCR_BF0_SPEC>
pub fn inlink_dscr_bf0(&self) -> &Reg<INLINK_DSCR_BF0_SPEC>
0x12c -
sourcepub fn inlink_dscr_bf1(&self) -> &Reg<INLINK_DSCR_BF1_SPEC>
pub fn inlink_dscr_bf1(&self) -> &Reg<INLINK_DSCR_BF1_SPEC>
0x130 -
sourcepub fn out_eof_bfr_des_addr(&self) -> &Reg<OUT_EOF_BFR_DES_ADDR_SPEC>
pub fn out_eof_bfr_des_addr(&self) -> &Reg<OUT_EOF_BFR_DES_ADDR_SPEC>
0x134 -
sourcepub fn out_eof_des_addr(&self) -> &Reg<OUT_EOF_DES_ADDR_SPEC>
pub fn out_eof_des_addr(&self) -> &Reg<OUT_EOF_DES_ADDR_SPEC>
0x138 -
sourcepub fn outlink_dscr(&self) -> &Reg<OUTLINK_DSCR_SPEC>
pub fn outlink_dscr(&self) -> &Reg<OUTLINK_DSCR_SPEC>
0x13c -
sourcepub fn outlink_dscr_bf0(&self) -> &Reg<OUTLINK_DSCR_BF0_SPEC>
pub fn outlink_dscr_bf0(&self) -> &Reg<OUTLINK_DSCR_BF0_SPEC>
0x140 -
sourcepub fn outlink_dscr_bf1(&self) -> &Reg<OUTLINK_DSCR_BF1_SPEC>
pub fn outlink_dscr_bf1(&self) -> &Reg<OUTLINK_DSCR_BF1_SPEC>
0x144 -
sourcepub fn dma_rstatus(&self) -> &Reg<DMA_RSTATUS_SPEC>
pub fn dma_rstatus(&self) -> &Reg<DMA_RSTATUS_SPEC>
0x148 -
sourcepub fn dma_tstatus(&self) -> &Reg<DMA_TSTATUS_SPEC>
pub fn dma_tstatus(&self) -> &Reg<DMA_TSTATUS_SPEC>
0x14c -
Trait Implementations§
source§impl Instance for SPI3
impl Instance for SPI3
fn register_block(&self) -> &RegisterBlock
fn sclk_signal(&self) -> OutputSignal
fn mosi_signal(&self) -> OutputSignal
fn miso_signal(&self) -> InputSignal
fn cs_signal(&self) -> OutputSignal
fn enable_peripheral(&self)
fn spi_num(&self) -> u8
fn init_spi_data_mode( &mut self, cmd_mode: SpiDataMode, address_mode: SpiDataMode, data_mode: SpiDataMode )
fn setup(&mut self, frequency: Rate<u32, 1, 1>, clocks: &Clocks<'_>)
fn set_data_mode(&mut self, data_mode: SpiMode) -> &mut Self
fn ch_bus_freq(&mut self, frequency: Rate<u32, 1, 1>, clocks: &Clocks<'_>)
fn read_byte(&mut self) -> Result<u8, Error<Error>>
fn write_byte(&mut self, word: u8) -> Result<(), Error<Error>>
source§fn read_bytes(&mut self, words: &mut [u8]) -> Result<(), Error>
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>
fn read_bytes_from_fifo(&mut self, words: &mut [u8]) -> Result<(), Error>
Read received bytes from SPI FIFO. Read more
fn busy(&self) -> bool
fn flush(&mut self) -> Result<(), Error>
fn transfer<'w>(&mut self, words: &'w mut [u8]) -> Result<&'w [u8], Error>
fn start_operation(&self)
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 )
fn write_bytes_half_duplex( &mut self, cmd: Command, address: Address, dummy: u8, buffer: &[u8] ) -> Result<(), Error>
fn read_bytes_half_duplex( &mut self, cmd: Command, address: Address, dummy: u8, buffer: &mut [u8] ) -> Result<(), Error>
fn update(&self)
fn configure_datalen(&self, len: u32)
source§impl<TX, RX> InstanceDma<TX, RX> for SPI3
impl<TX, RX> InstanceDma<TX, RX> for SPI3
fn transfer_in_place_dma<'w>( &mut self, words: &'w mut [u8], tx: &mut TX, rx: &mut RX ) -> Result<&'w [u8], Error>
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>
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>
fn write_bytes_dma<'w>( &mut self, words: &'w [u8], tx: &mut TX ) -> Result<&'w [u8], Error>
fn start_write_bytes_dma<'w>( &mut self, ptr: *const u8, len: usize, tx: &mut TX, listen: bool ) -> Result<(), Error>
fn start_read_bytes_dma<'w>( &mut self, ptr: *mut u8, len: usize, rx: &mut RX, listen: bool ) -> Result<(), Error>
fn dma_peripheral(&self) -> DmaPeripheral
fn enable_dma(&self)
fn clear_dma_interrupts(&self)
source§impl Peripheral for SPI3
impl Peripheral for SPI3
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more