Struct nrf52840_hal::pac::generic::Reg [−][src]
pub struct Reg<U, REG> { /* fields omitted */ }
Expand description
This structure provides volatile access to register
Implementations
Reads the contents of Readable
register
You can read the contents of a register in such way:
ⓘ
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();
impl<U, REG> Reg<U, REG> where
U: Copy,
Reg<U, REG>: ResetValue,
Reg<U, REG>: Writable,
<Reg<U, REG> as ResetValue>::Type == U,
impl<U, REG> Reg<U, REG> where
U: Copy,
Reg<U, REG>: ResetValue,
Reg<U, REG>: Writable,
<Reg<U, REG> as ResetValue>::Type == U,
impl<U, REG> Reg<U, REG> where
U: Copy,
Reg<U, REG>: ResetValue,
Reg<U, REG>: Writable,
<Reg<U, REG> as ResetValue>::Type == U,
impl<U, REG> Reg<U, REG> where
U: Copy,
Reg<U, REG>: ResetValue,
Reg<U, REG>: Writable,
<Reg<U, REG> as ResetValue>::Type == U,
Writes bits to 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) );
Other fields will have reset value.
Modifies the contents of the register
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 value they had before call modify
.