#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; }
Test Cases
Test Results
Input
1 2 1
Expected Output
13