====== 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. */
\\
ADDR_DIPSW EQU 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.
\\