pub struct SPI0 { /* private fields */ }Expand description
SPI0
Implementations§
Source§impl SPI0
impl SPI0
Sourcepub const PTR: *const RegisterBlock = {0x40080000 as *const rp235x_hal::rp235x_pac::spi0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x40080000 as *const rp235x_hal::rp235x_pac::spi0::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> SPI0
pub unsafe fn steal() -> SPI0
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>§
Sourcepub fn sspcr0(&self) -> &Reg<SSPCR0_SPEC>
pub fn sspcr0(&self) -> &Reg<SSPCR0_SPEC>
0x00 - Control register 0, SSPCR0 on page 3-4
Sourcepub fn sspcr1(&self) -> &Reg<SSPCR1_SPEC>
pub fn sspcr1(&self) -> &Reg<SSPCR1_SPEC>
0x04 - Control register 1, SSPCR1 on page 3-5
Sourcepub fn sspdr(&self) -> &Reg<SSPDR_SPEC>
pub fn sspdr(&self) -> &Reg<SSPDR_SPEC>
0x08 - Data register, SSPDR on page 3-6
Sourcepub fn sspsr(&self) -> &Reg<SSPSR_SPEC>
pub fn sspsr(&self) -> &Reg<SSPSR_SPEC>
0x0c - Status register, SSPSR on page 3-7
Sourcepub fn sspcpsr(&self) -> &Reg<SSPCPSR_SPEC>
pub fn sspcpsr(&self) -> &Reg<SSPCPSR_SPEC>
0x10 - Clock prescale register, SSPCPSR on page 3-8
Sourcepub fn sspimsc(&self) -> &Reg<SSPIMSC_SPEC>
pub fn sspimsc(&self) -> &Reg<SSPIMSC_SPEC>
0x14 - Interrupt mask set or clear register, SSPIMSC on page 3-9
Sourcepub fn sspris(&self) -> &Reg<SSPRIS_SPEC>
pub fn sspris(&self) -> &Reg<SSPRIS_SPEC>
0x18 - Raw interrupt status register, SSPRIS on page 3-10
Sourcepub fn sspmis(&self) -> &Reg<SSPMIS_SPEC>
pub fn sspmis(&self) -> &Reg<SSPMIS_SPEC>
0x1c - Masked interrupt status register, SSPMIS on page 3-11
Sourcepub fn sspicr(&self) -> &Reg<SSPICR_SPEC>
pub fn sspicr(&self) -> &Reg<SSPICR_SPEC>
0x20 - Interrupt clear register, SSPICR on page 3-11
Sourcepub fn sspdmacr(&self) -> &Reg<SSPDMACR_SPEC>
pub fn sspdmacr(&self) -> &Reg<SSPDMACR_SPEC>
0x24 - DMA control register, SSPDMACR on page 3-12
Sourcepub fn sspperiphid0(&self) -> &Reg<SSPPERIPHID0_SPEC>
pub fn sspperiphid0(&self) -> &Reg<SSPPERIPHID0_SPEC>
0xfe0 - Peripheral identification registers, SSPPeriphID0-3 on page 3-13
Sourcepub fn sspperiphid1(&self) -> &Reg<SSPPERIPHID1_SPEC>
pub fn sspperiphid1(&self) -> &Reg<SSPPERIPHID1_SPEC>
0xfe4 - Peripheral identification registers, SSPPeriphID0-3 on page 3-13
Sourcepub fn sspperiphid2(&self) -> &Reg<SSPPERIPHID2_SPEC>
pub fn sspperiphid2(&self) -> &Reg<SSPPERIPHID2_SPEC>
0xfe8 - Peripheral identification registers, SSPPeriphID0-3 on page 3-13
Sourcepub fn sspperiphid3(&self) -> &Reg<SSPPERIPHID3_SPEC>
pub fn sspperiphid3(&self) -> &Reg<SSPPERIPHID3_SPEC>
0xfec - Peripheral identification registers, SSPPeriphID0-3 on page 3-13
Sourcepub fn ssppcellid0(&self) -> &Reg<SSPPCELLID0_SPEC>
pub fn ssppcellid0(&self) -> &Reg<SSPPCELLID0_SPEC>
0xff0 - PrimeCell identification registers, SSPPCellID0-3 on page 3-16
Sourcepub fn ssppcellid1(&self) -> &Reg<SSPPCELLID1_SPEC>
pub fn ssppcellid1(&self) -> &Reg<SSPPCELLID1_SPEC>
0xff4 - PrimeCell identification registers, SSPPCellID0-3 on page 3-16
Sourcepub fn ssppcellid2(&self) -> &Reg<SSPPCELLID2_SPEC>
pub fn ssppcellid2(&self) -> &Reg<SSPPCELLID2_SPEC>
0xff8 - PrimeCell identification registers, SSPPCellID0-3 on page 3-16
Sourcepub fn ssppcellid3(&self) -> &Reg<SSPPCELLID3_SPEC>
pub fn ssppcellid3(&self) -> &Reg<SSPPCELLID3_SPEC>
0xffc - PrimeCell identification registers, SSPPCellID0-3 on page 3-16
Trait Implementations§
impl Send for SPI0
impl ValidPinIdCs<SPI0> for Gpio1
impl ValidPinIdCs<SPI0> for Gpio17
impl ValidPinIdCs<SPI0> for Gpio21
impl ValidPinIdCs<SPI0> for Gpio5
impl ValidPinIdRx<SPI0> for Gpio0
impl ValidPinIdRx<SPI0> for Gpio16
impl ValidPinIdRx<SPI0> for Gpio20
impl ValidPinIdRx<SPI0> for Gpio4
impl ValidPinIdSck<SPI0> for Gpio18
impl ValidPinIdSck<SPI0> for Gpio2
impl ValidPinIdSck<SPI0> for Gpio22
impl ValidPinIdSck<SPI0> for Gpio6
impl ValidPinIdTx<SPI0> for Gpio19
impl ValidPinIdTx<SPI0> for Gpio23
impl ValidPinIdTx<SPI0> for Gpio3
impl ValidPinIdTx<SPI0> for Gpio7
Auto Trait Implementations§
impl Freeze for SPI0
impl RefUnwindSafe for SPI0
impl !Sync for SPI0
impl Unpin for SPI0
impl UnwindSafe for SPI0
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
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more