====== DIPSW ====== The CT Board features 32 DIP switches. They are arranged in 4 groups of 8 DIP switches. \\ If a DIP switch is in the position "high" (see [[#diagram]] below) it provides a logical **"1"**. \\ \\ > {{ctboard:ctboard_mode_1.svg?48px }} {{ctboard:ctboard_mode_2.svg?48px }} {{ctboard:ctboard_mode_3.svg?48px }} {{ctboard:ctboard_mode_4.svg?48px }} Please make sure the CT Board is in the correct mode. > Supported [[ctboard:mode_switch|modes]]: **1**, **2**, **3**, **4** \\ ===== Registers ===== The registers are read only. \\ {{ctboard_dipsw_reg.svg}} \\ \\ ===== Diagram ===== \\ {{:ctboard:peripherals:ctboard_dipsw.svg?700em}} \\ \\ ===== Programming Example ===== The code snippets below show how to use the DIPSW. #include "reg_ctboard.h" uint8_t data_byte = CT_DIPSW->BYTE.S7_0; /* Read byte from S7..0. */ uint16_t data_hword = CT_DIPSW->HWORD.S31_16; /* Read half word from S31..16. */ uint32_t data_word = CT_DIPSW->WORD; /* Read all DIPSW at once into a word. */ \\ .equ ADDR_DIPSW, 0x60000200 ldr r0, =ADDR_DIPSW ldrb r1, [r0, #0] // Read byte from S7..0. ldrh r1, [r0, #2] // Read half word from S31..16. ldr r1, [r0, #0] // Read all DIPSW at once into a word. \\