Peripheral Access¶
-
__I
volatile const¶
-
__O
volatile¶
-
__IO
volatile¶
-
__IM
volatile const¶
-
__OM
volatile¶
-
__IOM
volatile¶
-
_VAL2FLD
(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)¶
-
_FLD2VAL
(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)¶
-
group
NMSIS_Core_PeriphAccess
Naming conventions and optional features for accessing peripherals.
The section below describes the naming conventions, requirements, and optional features for accessing device specific peripherals. Most of the rules also apply to the core peripherals.
The Device Header File <device.h> contains typically these definition and also includes the core specific header files.
Defines
-
__I
volatile const Defines ‘read only’ permissions.
-
__O
volatile Defines ‘write only’ permissions.
-
__IO
volatile Defines ‘read / write’ permissions.
-
__IM
volatile const Defines ‘read only’ structure member permissions.
-
__OM
volatile Defines ‘write only’ structure member permissions.
-
__IOM
volatile Defines ‘read/write’ structure member permissions.
-
_VAL2FLD
(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) Mask and shift a bit field value for use in a register bit range.
The macro _VAL2FLD uses the #define’s _Pos and _Msk of the related bit field to shift bit-field values for assigning to a register.
Example:
ECLIC->CFG = _VAL2FLD(CLIC_CLICCFG_NLBIT, 3);
- Return
Masked and shifted value.
- Parameters
[in] field
: Name of the register bit field.[in] value
: Value of the bit field. This parameter is interpreted as an uint32_t type.
-
_FLD2VAL
(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) Mask and shift a register value to extract a bit filed value.
The macro _FLD2VAL uses the #define’s _Pos and _Msk of the related bit field to extract the value of a bit field from a register.
Example:
nlbits = _FLD2VAL(CLIC_CLICCFG_NLBIT, ECLIC->CFG);
- Return
Masked and shifted bit field value.
- Parameters
[in] field
: Name of the register bit field.[in] value
: Value of register. This parameter is interpreted as an uint32_t type.
-