Skip to main content

register

Macro register 

Source
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:

ยงExamples

register! {
    StatusReg, u32, 0x10, RW, {
        pub enabled, set_enabled: 0;
        pub error, _: 1;
        pub value, set_value: 15, 8;
    }
}