Trait tock_registers::interfaces::Writeable
source · [−]pub trait Writeable {
type T: UIntLike;
type R: RegisterLongName;
fn set(&self, value: Self::T);
fn write(&self, field: FieldValue<Self::T, Self::R>) { ... }
fn modify_no_read(
&self,
original: LocalRegisterCopy<Self::T, Self::R>,
field: FieldValue<Self::T, Self::R>
) { ... }
}
Expand description
Writeable register
Register which at least supports setting a value. Only
Writeable::set
must be implemented, as for other methods a
default implementation is provided.
A register that is both Readable
and Writeable
will also
automatically be ReadWriteable
, if the RegisterLongName
of
Readable
is the same as that of Writeable
(i.e. not for
Aliased
registers).
Required Associated Types
Required Methods
Provided Methods
fn write(&self, field: FieldValue<Self::T, Self::R>)
fn write(&self, field: FieldValue<Self::T, Self::R>)
Write the value of one or more fields, overwriting the other fields with zero
fn modify_no_read(
&self,
original: LocalRegisterCopy<Self::T, Self::R>,
field: FieldValue<Self::T, Self::R>
)
fn modify_no_read(
&self,
original: LocalRegisterCopy<Self::T, Self::R>,
field: FieldValue<Self::T, Self::R>
)
Write the value of one or more fields, maintaining the value of unchanged fields via a provided original value, rather than a register read.