pub struct IO_BANK0 { /* private fields */ }Expand description
IO_BANK0
Implementations§
Source§impl IO_BANK0
impl IO_BANK0
Sourcepub const PTR: *const RegisterBlock = {0x40028000 as *const rp235x_hal::rp235x_pac::io_bank0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x40028000 as *const rp235x_hal::rp235x_pac::io_bank0::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() -> IO_BANK0
pub unsafe fn steal() -> IO_BANK0
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 gpio(&self, n: usize) -> &GPIO
pub fn gpio(&self, n: usize) -> &GPIO
0x00..0x180 - Cluster GPIO%s, containing GPIO*_STATUS, GPIO*_CTRL
Sourcepub fn gpio_iter(&self) -> impl Iterator<Item = &GPIO>
pub fn gpio_iter(&self) -> impl Iterator<Item = &GPIO>
Iterator for array of: 0x00..0x180 - Cluster GPIO%s, containing GPIO*_STATUS, GPIO*_CTRL
Sourcepub fn irqsummary_proc0_secure0(&self) -> &Reg<IRQSUMMARY_PROC0_SECURE0_SPEC>
pub fn irqsummary_proc0_secure0(&self) -> &Reg<IRQSUMMARY_PROC0_SECURE0_SPEC>
0x200 -
Sourcepub fn irqsummary_proc0_secure1(&self) -> &Reg<IRQSUMMARY_PROC0_SECURE1_SPEC>
pub fn irqsummary_proc0_secure1(&self) -> &Reg<IRQSUMMARY_PROC0_SECURE1_SPEC>
0x204 -
Sourcepub fn irqsummary_proc0_nonsecure0(
&self,
) -> &Reg<IRQSUMMARY_PROC0_NONSECURE0_SPEC>
pub fn irqsummary_proc0_nonsecure0( &self, ) -> &Reg<IRQSUMMARY_PROC0_NONSECURE0_SPEC>
0x208 -
Sourcepub fn irqsummary_proc0_nonsecure1(
&self,
) -> &Reg<IRQSUMMARY_PROC0_NONSECURE1_SPEC>
pub fn irqsummary_proc0_nonsecure1( &self, ) -> &Reg<IRQSUMMARY_PROC0_NONSECURE1_SPEC>
0x20c -
Sourcepub fn irqsummary_proc1_secure0(&self) -> &Reg<IRQSUMMARY_PROC1_SECURE0_SPEC>
pub fn irqsummary_proc1_secure0(&self) -> &Reg<IRQSUMMARY_PROC1_SECURE0_SPEC>
0x210 -
Sourcepub fn irqsummary_proc1_secure1(&self) -> &Reg<IRQSUMMARY_PROC1_SECURE1_SPEC>
pub fn irqsummary_proc1_secure1(&self) -> &Reg<IRQSUMMARY_PROC1_SECURE1_SPEC>
0x214 -
Sourcepub fn irqsummary_proc1_nonsecure0(
&self,
) -> &Reg<IRQSUMMARY_PROC1_NONSECURE0_SPEC>
pub fn irqsummary_proc1_nonsecure0( &self, ) -> &Reg<IRQSUMMARY_PROC1_NONSECURE0_SPEC>
0x218 -
Sourcepub fn irqsummary_proc1_nonsecure1(
&self,
) -> &Reg<IRQSUMMARY_PROC1_NONSECURE1_SPEC>
pub fn irqsummary_proc1_nonsecure1( &self, ) -> &Reg<IRQSUMMARY_PROC1_NONSECURE1_SPEC>
0x21c -
Sourcepub fn irqsummary_dormant_wake_secure0(
&self,
) -> &Reg<IRQSUMMARY_DORMANT_WAKE_SECURE0_SPEC>
pub fn irqsummary_dormant_wake_secure0( &self, ) -> &Reg<IRQSUMMARY_DORMANT_WAKE_SECURE0_SPEC>
0x220 -
Sourcepub fn irqsummary_dormant_wake_secure1(
&self,
) -> &Reg<IRQSUMMARY_DORMANT_WAKE_SECURE1_SPEC>
pub fn irqsummary_dormant_wake_secure1( &self, ) -> &Reg<IRQSUMMARY_DORMANT_WAKE_SECURE1_SPEC>
0x224 -
Sourcepub fn irqsummary_dormant_wake_nonsecure0(
&self,
) -> &Reg<IRQSUMMARY_DORMANT_WAKE_NONSECURE0_SPEC>
pub fn irqsummary_dormant_wake_nonsecure0( &self, ) -> &Reg<IRQSUMMARY_DORMANT_WAKE_NONSECURE0_SPEC>
0x228 -
Sourcepub fn irqsummary_dormant_wake_nonsecure1(
&self,
) -> &Reg<IRQSUMMARY_DORMANT_WAKE_NONSECURE1_SPEC>
pub fn irqsummary_dormant_wake_nonsecure1( &self, ) -> &Reg<IRQSUMMARY_DORMANT_WAKE_NONSECURE1_SPEC>
0x22c -
Sourcepub fn intr_iter(&self) -> impl Iterator<Item = &Reg<INTR_SPEC>>
pub fn intr_iter(&self) -> impl Iterator<Item = &Reg<INTR_SPEC>>
Iterator for array of: 0x230..0x248 - Raw Interrupts
Sourcepub fn proc0_inte(&self, n: usize) -> &Reg<PROC0_INTE_SPEC>
pub fn proc0_inte(&self, n: usize) -> &Reg<PROC0_INTE_SPEC>
0x248..0x260 - Interrupt Enable for proc0
Sourcepub fn proc0_inte_iter(&self) -> impl Iterator<Item = &Reg<PROC0_INTE_SPEC>>
pub fn proc0_inte_iter(&self) -> impl Iterator<Item = &Reg<PROC0_INTE_SPEC>>
Iterator for array of: 0x248..0x260 - Interrupt Enable for proc0
Sourcepub fn proc0_intf(&self, n: usize) -> &Reg<PROC0_INTF_SPEC>
pub fn proc0_intf(&self, n: usize) -> &Reg<PROC0_INTF_SPEC>
0x260..0x278 - Interrupt Force for proc0
Sourcepub fn proc0_intf_iter(&self) -> impl Iterator<Item = &Reg<PROC0_INTF_SPEC>>
pub fn proc0_intf_iter(&self) -> impl Iterator<Item = &Reg<PROC0_INTF_SPEC>>
Iterator for array of: 0x260..0x278 - Interrupt Force for proc0
Sourcepub fn proc0_ints(&self, n: usize) -> &Reg<PROC0_INTS_SPEC>
pub fn proc0_ints(&self, n: usize) -> &Reg<PROC0_INTS_SPEC>
0x278..0x290 - Interrupt status after masking & forcing for proc0
Sourcepub fn proc0_ints_iter(&self) -> impl Iterator<Item = &Reg<PROC0_INTS_SPEC>>
pub fn proc0_ints_iter(&self) -> impl Iterator<Item = &Reg<PROC0_INTS_SPEC>>
Iterator for array of: 0x278..0x290 - Interrupt status after masking & forcing for proc0
Sourcepub fn proc1_inte(&self, n: usize) -> &Reg<PROC1_INTE_SPEC>
pub fn proc1_inte(&self, n: usize) -> &Reg<PROC1_INTE_SPEC>
0x290..0x2a8 - Interrupt Enable for proc1
Sourcepub fn proc1_inte_iter(&self) -> impl Iterator<Item = &Reg<PROC1_INTE_SPEC>>
pub fn proc1_inte_iter(&self) -> impl Iterator<Item = &Reg<PROC1_INTE_SPEC>>
Iterator for array of: 0x290..0x2a8 - Interrupt Enable for proc1
Sourcepub fn proc1_intf(&self, n: usize) -> &Reg<PROC1_INTF_SPEC>
pub fn proc1_intf(&self, n: usize) -> &Reg<PROC1_INTF_SPEC>
0x2a8..0x2c0 - Interrupt Force for proc1
Sourcepub fn proc1_intf_iter(&self) -> impl Iterator<Item = &Reg<PROC1_INTF_SPEC>>
pub fn proc1_intf_iter(&self) -> impl Iterator<Item = &Reg<PROC1_INTF_SPEC>>
Iterator for array of: 0x2a8..0x2c0 - Interrupt Force for proc1
Sourcepub fn proc1_ints(&self, n: usize) -> &Reg<PROC1_INTS_SPEC>
pub fn proc1_ints(&self, n: usize) -> &Reg<PROC1_INTS_SPEC>
0x2c0..0x2d8 - Interrupt status after masking & forcing for proc1
Sourcepub fn proc1_ints_iter(&self) -> impl Iterator<Item = &Reg<PROC1_INTS_SPEC>>
pub fn proc1_ints_iter(&self) -> impl Iterator<Item = &Reg<PROC1_INTS_SPEC>>
Iterator for array of: 0x2c0..0x2d8 - Interrupt status after masking & forcing for proc1
Sourcepub fn dormant_wake_inte(&self, n: usize) -> &Reg<DORMANT_WAKE_INTE_SPEC>
pub fn dormant_wake_inte(&self, n: usize) -> &Reg<DORMANT_WAKE_INTE_SPEC>
0x2d8..0x2f0 - Interrupt Enable for dormant_wake
Sourcepub fn dormant_wake_inte_iter(
&self,
) -> impl Iterator<Item = &Reg<DORMANT_WAKE_INTE_SPEC>>
pub fn dormant_wake_inte_iter( &self, ) -> impl Iterator<Item = &Reg<DORMANT_WAKE_INTE_SPEC>>
Iterator for array of: 0x2d8..0x2f0 - Interrupt Enable for dormant_wake
Sourcepub fn dormant_wake_intf(&self, n: usize) -> &Reg<DORMANT_WAKE_INTF_SPEC>
pub fn dormant_wake_intf(&self, n: usize) -> &Reg<DORMANT_WAKE_INTF_SPEC>
0x2f0..0x308 - Interrupt Force for dormant_wake
Sourcepub fn dormant_wake_intf_iter(
&self,
) -> impl Iterator<Item = &Reg<DORMANT_WAKE_INTF_SPEC>>
pub fn dormant_wake_intf_iter( &self, ) -> impl Iterator<Item = &Reg<DORMANT_WAKE_INTF_SPEC>>
Iterator for array of: 0x2f0..0x308 - Interrupt Force for dormant_wake
Sourcepub fn dormant_wake_ints(&self, n: usize) -> &Reg<DORMANT_WAKE_INTS_SPEC>
pub fn dormant_wake_ints(&self, n: usize) -> &Reg<DORMANT_WAKE_INTS_SPEC>
0x308..0x320 - Interrupt status after masking & forcing for dormant_wake
Sourcepub fn dormant_wake_ints_iter(
&self,
) -> impl Iterator<Item = &Reg<DORMANT_WAKE_INTS_SPEC>>
pub fn dormant_wake_ints_iter( &self, ) -> impl Iterator<Item = &Reg<DORMANT_WAKE_INTS_SPEC>>
Iterator for array of: 0x308..0x320 - Interrupt status after masking & forcing for dormant_wake
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IO_BANK0
impl RefUnwindSafe for IO_BANK0
impl !Sync for IO_BANK0
impl Unpin for IO_BANK0
impl UnwindSafe for IO_BANK0
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