macro_rules! register {
($name:ident, $val_type:ty, $offset:expr, RO, { $($field_spec:tt)* }) => { ... };
($name:ident, $val_type:ty, $offset:expr, WO, { $($field_spec:tt)* }) => { ... };
($name:ident, $val_type:ty, $offset:expr, RW, { $($field_spec:tt)* }) => { ... };
}Expand description
A macro for defining a Register and its bitfields.
This macro generates a bitfield struct that implements the Register,
RegisterReadAccess and RegisterWriteAccess traits. The access mode (RO, WO, RW)
determines which of the ReadableRegister and WritableRegister traits are implemented.
Access modes:
RO: Read-Only (implementsReadableRegister).WO: Write-Only (implementsWritableRegister).RW: Read-Write (implements bothReadableRegisterandWritableRegister).
ยงExamples
register! {
StatusReg, u32, 0x10, RW, {
pub enabled, set_enabled: 0;
pub error, _: 1;
pub value, set_value: 15, 8;
}
}