Struct nrf52832_hal::pac::generic::Reg [−][src]
#[repr(transparent)]pub struct Reg<REG> where
REG: RegisterSpec, { /* fields omitted */ }
Expand description
This structure provides volatile access to registers.
Implementations
Returns the underlying memory address of register.
let reg_ptr = periph.reg.as_ptr();
Reads the contents of a Readable
register.
You can read the raw contents of a register by using bits
:
let bits = periph.reg.read().bits();
or get the content of a particular field of a register:
let reader = periph.reg.read();
let bits = reader.field1().bits();
let flag = reader.field2().bit_is_set();
Writes the reset value to Writable
register.
Resets the register to its initial state.
Writes bits to a Writable
register.
You can write raw bits into a register:
periph.reg.write(|w| unsafe { w.bits(rawbits) });
or write only the fields you need:
periph.reg.write(|w| w
.field1().bits(newfield1bits)
.field2().set_bit()
.field3().variant(VARIANT)
);
In the latter case, other fields will be set to their reset value.
Modifies the contents of the register by reading and then writing it.
E.g. to do a read-modify-write sequence to change parts of a register:
periph.reg.modify(|r, w| unsafe { w.bits(
r.bits() | 3
) });
or
periph.reg.modify(|_, w| w
.field1().bits(newfield1bits)
.field2().set_bit()
.field3().variant(VARIANT)
);
Other fields will have the value they had before the call to modify
.
Trait Implementations
Auto Trait Implementations
impl<REG> !RefUnwindSafe for Reg<REG>
impl<REG> UnwindSafe for Reg<REG> where
REG: UnwindSafe,
<REG as RegisterSpec>::Ux: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Performs the conversion.
Performs the conversion.
Casts the value.
OverflowingCasts the value.
Casts the value.
Casts the value.
Casts the value.
UnwrappedCasts the value.
Casts the value.
WrappingCasts the value.