Estoy tratando de seguir las mejores prácticas en el mapeo de registros. Tengo un front-end analógico MAX30001 para aplicaciones de ECG ( Hoja de datos ) y en la página 38, hay una tabla que contiene el comando de usuario y el mapa de registro: 32 palabras, cada una con 24 bits de información. ¿Debo usar estructuras o macros?
Usando estructuras con campos de bits:
typedef struct {
volatile uint8_t Bit0 : 1;
volatile uint8_t Bit1 : 1;
volatile uint8_t Bit2 : 1;
volatile uint8_t Bit3 : 1;
// ...
// and so on
// ...
volatile uint8_t Bit23 : 1;
} foo;
Usando macros:
#define STATUS (*(volatile uint32_t*)0x01))