Struct nrf52840_pac::pwm0::RegisterBlock

source ·
#[repr(C)]
pub struct RegisterBlock {
Show 21 fields pub tasks_stop: TASKS_STOP, pub tasks_seqstart: [TASKS_SEQSTART; 2], pub tasks_nextstep: TASKS_NEXTSTEP, pub events_stopped: EVENTS_STOPPED, pub events_seqstarted: [EVENTS_SEQSTARTED; 2], pub events_seqend: [EVENTS_SEQEND; 2], pub events_pwmperiodend: EVENTS_PWMPERIODEND, pub events_loopsdone: EVENTS_LOOPSDONE, pub shorts: SHORTS, pub inten: INTEN, pub intenset: INTENSET, pub intenclr: INTENCLR, pub enable: ENABLE, pub mode: MODE, pub countertop: COUNTERTOP, pub prescaler: PRESCALER, pub decoder: DECODER, pub loop_: LOOP, pub seq0: SEQ, pub seq1: SEQ, pub psel: PSEL, /* private fields */
}
Expand description

Register block

Fields§

§tasks_stop: TASKS_STOP

0x04 - Stops PWM pulse generation on all channels at the end of current PWM period, and stops sequence playback

§tasks_seqstart: [TASKS_SEQSTART; 2]

0x08..0x10 - Description collection[n]: Loads the first PWM value on all enabled channels from sequence n, and starts playing that sequence at the rate defined in SEQ[n]REFRESH and/or DECODER.MODE. Causes PWM generation to start if not running.

§tasks_nextstep: TASKS_NEXTSTEP

0x10 - Steps by one value in the current sequence on all enabled channels if DECODER.MODE=NextStep. Does not cause PWM generation to start if not running.

§events_stopped: EVENTS_STOPPED

0x104 - Response to STOP task, emitted when PWM pulses are no longer generated

§events_seqstarted: [EVENTS_SEQSTARTED; 2]

0x108..0x110 - Description collection[n]: First PWM period started on sequence n

§events_seqend: [EVENTS_SEQEND; 2]

0x110..0x118 - Description collection[n]: Emitted at end of every sequence n, when last value from RAM has been applied to wave counter

§events_pwmperiodend: EVENTS_PWMPERIODEND

0x118 - Emitted at the end of each PWM period

§events_loopsdone: EVENTS_LOOPSDONE

0x11c - Concatenated sequences have been played the amount of times defined in LOOP.CNT

§shorts: SHORTS

0x200 - Shortcut register

§inten: INTEN

0x300 - Enable or disable interrupt

§intenset: INTENSET

0x304 - Enable interrupt

§intenclr: INTENCLR

0x308 - Disable interrupt

§enable: ENABLE

0x500 - PWM module enable register

§mode: MODE

0x504 - Selects operating mode of the wave counter

§countertop: COUNTERTOP

0x508 - Value up to which the pulse generator counter counts

§prescaler: PRESCALER

0x50c - Configuration for PWM_CLK

§decoder: DECODER

0x510 - Configuration of the decoder

§loop_: LOOP

0x514 - Number of playbacks of a loop

§seq0: SEQ

0x520..0x530 - Unspecified

§seq1: SEQ

0x540..0x550 - Unspecified

§psel: PSEL

0x560..0x570 - Unspecified

Auto Trait Implementations§

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.