#include <stdio.h>
#include <stdint.h>
typedef union{
struct{
uint8_t enable :1;
uint8_t mode :2;
uint8_t interrupt :1;
uint8_t reserved :4;
}bits;
uint8_t reg;
}ControlRegister_t;
void read_and_write(ControlRegister_t *reg_handle, uint8_t enable, uint8_t mode, uint8_t interrupt){
reg_handle->bits.enable = enable;
reg_handle->bits.mode = mode;
reg_handle->bits.interrupt = interrupt;
printf("%hu",reg_handle->reg);
}
int main(){
uint8_t e,m,i;
scanf("%hx%hx%hx", &e, &m, &i);
ControlRegister_t reg_handle;
read_and_write(®_handle, e, m, i);
return 0;
}
Input
1 2 1
Expected Output
13