pub struct PWM { /* private fields */ }Expand description
Simple PWM
Implementations§
Source§impl PWM
impl PWM
Sourcepub const PTR: *const RegisterBlock = {0x400a8000 as *const rp235x_hal::rp235x_pac::pwm::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x400a8000 as *const rp235x_hal::rp235x_pac::pwm::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() -> PWM
pub unsafe fn steal() -> PWM
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 ch(&self, n: usize) -> &CH
pub fn ch(&self, n: usize) -> &CH
0x00..0xf0 - Cluster CH%s, containing CH*_CC, CH*_CSR, CH*_CTR, CH*_DIV, CH*_TOP
Sourcepub fn ch_iter(&self) -> impl Iterator<Item = &CH>
pub fn ch_iter(&self) -> impl Iterator<Item = &CH>
Iterator for array of: 0x00..0xf0 - Cluster CH%s, containing CH*_CC, CH*_CSR, CH*_CTR, CH*_DIV, CH*_TOP
Sourcepub fn en(&self) -> &Reg<EN_SPEC>
pub fn en(&self) -> &Reg<EN_SPEC>
0xf0 - This register aliases the CSR_EN bits for all channels. Writing to this register allows multiple channels to be enabled or disabled simultaneously, so they can run in perfect sync. For each channel, there is only one physical EN register bit, which can be accessed through here or CHx_CSR.
Sourcepub fn irq0_inte(&self) -> &Reg<IRQ0_INTE_SPEC>
pub fn irq0_inte(&self) -> &Reg<IRQ0_INTE_SPEC>
0xf8 - Interrupt Enable for irq0
Sourcepub fn irq0_intf(&self) -> &Reg<IRQ0_INTF_SPEC>
pub fn irq0_intf(&self) -> &Reg<IRQ0_INTF_SPEC>
0xfc - Interrupt Force for irq0
Sourcepub fn irq0_ints(&self) -> &Reg<IRQ0_INTS_SPEC>
pub fn irq0_ints(&self) -> &Reg<IRQ0_INTS_SPEC>
0x100 - Interrupt status after masking & forcing for irq0
Sourcepub fn irq1_inte(&self) -> &Reg<IRQ1_INTE_SPEC>
pub fn irq1_inte(&self) -> &Reg<IRQ1_INTE_SPEC>
0x104 - Interrupt Enable for irq1
Sourcepub fn irq1_intf(&self) -> &Reg<IRQ1_INTF_SPEC>
pub fn irq1_intf(&self) -> &Reg<IRQ1_INTF_SPEC>
0x108 - Interrupt Force for irq1
Sourcepub fn irq1_ints(&self) -> &Reg<IRQ1_INTS_SPEC>
pub fn irq1_ints(&self) -> &Reg<IRQ1_INTS_SPEC>
0x10c - Interrupt status after masking & forcing for irq1
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PWM
impl RefUnwindSafe for PWM
impl !Sync for PWM
impl Unpin for PWM
impl UnwindSafe for PWM
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