pub trait RegisterValue<T: RegSpec> {
// Required methods
fn new(data: T::DataType) -> Self;
fn get_raw(&self) -> T::DataType;
fn set_raw(self, value: T::DataType) -> Self;
}Required Methods§
Sourcefn new(data: T::DataType) -> Self
fn new(data: T::DataType) -> Self
Create a register value that could be written to a register from raw integer
ⓘ
// example with generic names
// needs: use test_pac::{timer, RegisterValue, TIMER}
let to_write = timer::BitfieldReg::new(0xdeadbeef);
TIMER.bitfield_reg().write(to_write);
let to_write = to_write.boolw().set(true);
TIMER.bitfield_reg().write(to_write);Sourcefn get_raw(&self) -> T::DataType
fn get_raw(&self) -> T::DataType
Get raw integer from value read from register
ⓘ
// example with generic names
// needs: use pac::{RegisterValue, TIMER}
let x = TIMER.bitfield_reg().read().get_raw();Sourcefn set_raw(self, value: T::DataType) -> Self
fn set_raw(self, value: T::DataType) -> Self
Prepare a register value that could be written to a register with an arbitrary value
Use this function for setting a register to a custom value, independent of bitfields, enumerations, etc. No checks are performed on the passed value. The whole register is updated on write.
ⓘ
// example with generic names
// needs: use pac::{RegisterValue, TIMER}
TIMER.bitfield_reg().init(|r| r.set_raw(0xdeadbeef))Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.