pub struct Reg<REG: RegisterSpec> { }
Expand description
This structure provides volatile access to registers.
Set high every bit in the register that was set in the write proxy. Leave other bits
untouched. The write is done in a single atomic instruction.
§Safety
The resultant bit pattern may not be valid for the register.
Clear every bit in the register that was cleared in the write proxy. Leave other bits
untouched. The write is done in a single atomic instruction.
§Safety
The resultant bit pattern may not be valid for the register.
Toggle every bit in the register that was set in the write proxy. Leave other bits
untouched. The write is done in a single atomic instruction.
§Safety
The resultant bit pattern may not be valid for the register.
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)
);
or an alternative way of saying the same:
ⓘperiph.reg.write(|w| {
w.field1().bits(newfield1bits);
w.field2().set_bit();
w.field3().variant(VARIANT)
});
In the latter case, other fields will be set to their reset value.
Writes 0 to a Writable
register.
Similar to write
, but unused bits will contain 0.
§Safety
Unsafe to use with registers which don’t allow to write 0.
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)
);
or an alternative way of saying the same:
ⓘperiph.reg.modify(|_, w| {
w.field1().bits(newfield1bits);
w.field2().set_bit();
w.field3().variant(VARIANT)
});
Other fields will have the value they had before the call to modify
.
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
Returns the argument unchanged.
Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From<T> for U
chooses to do.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.