All submissions

Pointer to Struct with Bitfields

Code

#include <stdio.h>\n\nstruct UART_ControlRegister {\n    unsigned int baudrate : 4;\n    unsigned int tx_enable : 1;\n    unsigned int rx_enable : 1;\n    unsigned int tx_irq_en : 1;\n    unsigned int rx_irq_en : 1;\n    unsigned int parity_en : 1;\n    unsigned int stop_bits : 1;\n    unsigned int reserved : 22;\n};\n\nvoid configure_uart(struct UART_ControlRegister *reg) {\n    \/\/ Your logic here\n    reg->baudrate = 9;\n    reg->tx_enable = 1;\n    reg->rx_enable = 1;\n    reg->tx_irq_en = 1;\n    reg->rx_irq_en = 0;\n    reg->parity_en = 1;\n    reg->stop_bits = 0;\n}\n\nint main() {\n    struct UART_ControlRegister reg = {0};\n\n    configure_uart(&reg);\n\n    printf(\"baudrate = %u\\n\", reg.baudrate);\n    printf(\"tx_enable = %u\\n\", reg.tx_enable);\n    printf(\"rx_enable = %u\\n\", reg.rx_enable);\n    printf(\"tx_irq_en = %u\\n\", reg.tx_irq_en);\n    printf(\"rx_irq_en = %u\\n\", reg.rx_irq_en);\n    printf(\"parity_en = %u\\n\", reg.parity_en);\n    printf(\"stop_bits = %u\", reg.stop_bits);\n\n    return 0;\n}<\/code><\/pre>Solving Approach<\/strong><\/h2> <\/h2> <\/p> <\/p>"}

Solving Approach

 

 

 

Loading...

Input

Expected Output

baudrate = 9 tx_enable = 1 rx_enable = 1 tx_irq_en = 1 rx_irq_en = 0 parity_en = 1 stop_bits = 0