pub struct Aliased<T: UIntLike, R: RegisterLongName = (), W: RegisterLongName = ()> { /* private fields */ }Expand description
Read-only and write-only registers aliased to the same address.
Unlike the ReadWrite register, this represents a register which has
different meanings based on if it is written or read.  This might be found
on a device where control and status registers are accessed via the same
memory address via writes and reads, respectively.
This register implements Readable and Writeable, but in general does
not implement ReadWriteable (only if
the type parameters R and W are identical, in which case a ReadWrite
register might be a better choice).
Trait Implementations§
Source§impl<T: UIntLike, R: RegisterLongName, W: RegisterLongName> Readable for Aliased<T, R, W>
 
impl<T: UIntLike, R: RegisterLongName, W: RegisterLongName> Readable for Aliased<T, R, W>
type T = T
type R = R
Source§fn read_as_enum<E: TryFromValue<Self::T, EnumType = E>>(
    &self,
    field: Field<Self::T, Self::R>,
) -> Option<E>
 
fn read_as_enum<E: TryFromValue<Self::T, EnumType = E>>( &self, field: Field<Self::T, Self::R>, ) -> Option<E>
Set the raw register value Read more
Source§fn is_set(&self, field: Field<Self::T, Self::R>) -> bool
 
fn is_set(&self, field: Field<Self::T, Self::R>) -> bool
Check if one or more bits in a field are set
Source§fn any_matching_bits_set(&self, field: FieldValue<Self::T, Self::R>) -> bool
 
fn any_matching_bits_set(&self, field: FieldValue<Self::T, Self::R>) -> bool
Check if any bits corresponding to the mask in the passed 
FieldValue
are set.  This function is identical to is_set() but operates on a
FieldValue rather than a Field, allowing for checking if any bits
are set across multiple, non-contiguous portions of a bitfield.Source§fn matches_all(&self, field: FieldValue<Self::T, Self::R>) -> bool
 
fn matches_all(&self, field: FieldValue<Self::T, Self::R>) -> bool
Check if all specified parts of a field match
Source§fn matches_any(&self, fields: &[FieldValue<Self::T, Self::R>]) -> bool
 
fn matches_any(&self, fields: &[FieldValue<Self::T, Self::R>]) -> bool
Check if any of the passed parts of a field exactly match the contained
value. This allows for matching on unset bits, or matching on specific
values in multi-bit fields.
Source§impl<T: UIntLike, R: RegisterLongName, W: RegisterLongName> Writeable for Aliased<T, R, W>
 
impl<T: UIntLike, R: RegisterLongName, W: RegisterLongName> Writeable for Aliased<T, R, W>
type T = T
type R = W
Source§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
Source§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.
Auto Trait Implementations§
impl<T, R = (), W = ()> !Freeze for Aliased<T, R, W>
impl<T, R = (), W = ()> !RefUnwindSafe for Aliased<T, R, W>
impl<T, R, W> Send for Aliased<T, R, W>
impl<T, R = (), W = ()> !Sync for Aliased<T, R, W>
impl<T, R, W> Unpin for Aliased<T, R, W>
impl<T, R, W> UnwindSafe for Aliased<T, R, W>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Debuggable for Twhere
    T: Readable,
 
impl<T> Debuggable for Twhere
    T: Readable,
Source§fn debug(&self) -> RegisterDebugValue<Self::T, Self::R>
 
fn debug(&self) -> RegisterDebugValue<Self::T, Self::R>
Returns a 
RegisterDebugValue that
implements core::fmt::Debug, the debug information is extracted from
<Register>::DebugInfo.Source§impl<T, R, S> ReadWriteable for S
 
impl<T, R, S> ReadWriteable for S
type T = T
type R = R
Source§fn modify(
    &self,
    field: FieldValue<<S as ReadWriteable>::T, <S as ReadWriteable>::R>,
)
 
fn modify( &self, field: FieldValue<<S as ReadWriteable>::T, <S as ReadWriteable>::R>, )
Write the value of one or more fields, leaving the other fields
unchanged