1 | /* ADC Channel */
|
2 | typedef struct ADC_CH_struct
|
3 | {
|
4 | register8_t CTRL; /* Control Register */
|
5 | register8_t MUXCTRL; /* MUX Control */
|
6 | register8_t INTCTRL; /* Channel Interrupt Control Register */
|
7 | register8_t INTFLAGS; /* Interrupt Flags */
|
8 | _WORDREGISTER(RES); /* Channel Result */
|
9 | register8_t SCAN; /* Input Channel Scan */
|
10 | } ADC_CH_t;
|
11 |
|
12 | /* Analog-to-Digital Converter */
|
13 | typedef struct ADC_struct
|
14 | {
|
15 | register8_t CTRLA; /* Control Register A */
|
16 | register8_t CTRLB; /* Control Register B */
|
17 | register8_t REFCTRL; /* Reference Control */
|
18 | register8_t EVCTRL; /* Event Control */
|
19 | register8_t PRESCALER; /* Clock Prescaler */
|
20 | register8_t reserved_0x05;
|
21 | register8_t INTFLAGS; /* Interrupt Flags */
|
22 | register8_t TEMP; /* Temporary Register */
|
23 | register8_t reserved_0x08;
|
24 | register8_t reserved_0x09;
|
25 | register8_t reserved_0x0A;
|
26 | register8_t reserved_0x0B;
|
27 | _WORDREGISTER(CAL); /* Calibration Value */
|
28 | register8_t reserved_0x0E;
|
29 | register8_t reserved_0x0F;
|
30 | _WORDREGISTER(CH0RES); /* Channel 0 Result */
|
31 | _WORDREGISTER(CH1RES); /* Channel 1 Result */
|
32 | _WORDREGISTER(CH2RES); /* Channel 2 Result */
|
33 | _WORDREGISTER(CH3RES); /* Channel 3 Result */
|
34 | _WORDREGISTER(CMP); /* Compare Value */
|
35 | register8_t reserved_0x1A;
|
36 | register8_t reserved_0x1B;
|
37 | register8_t reserved_0x1C;
|
38 | register8_t reserved_0x1D;
|
39 | register8_t reserved_0x1E;
|
40 | register8_t reserved_0x1F;
|
41 | ADC_CH_t CH0; /* ADC Channel 0 */
|
42 | ADC_CH_t CH1; /* ADC Channel 1 */
|
43 | ADC_CH_t CH2; /* ADC Channel 2 */
|
44 | ADC_CH_t CH3; /* ADC Channel 3 */
|
45 | } ADC_t;
|