![]() |
RTOS_MSPM0
1.1
ECE445M starter code
|
Initialize 12-bit ADC0 and/or ADC1. More...
#include <ti/devices/msp/msp.h>#include <stdint.h>Go to the source code of this file.
Macros | |
| #define | ADCVREF_INT 0x200 |
| using ADCVREF_INT means choose internal 2.5V reference for accuracy | |
| #define | ADCVREF_EXT 0x100 |
| using ADCVREF_EXT means choose external reference not tested | |
| #define | ADCVREF_VDDA 0x000 |
| using ADCVREF_VDDA means choose power line 3.3V reference for 0 to 3.3V range | |
Functions | |
| void | ADC0_Init (uint32_t channel, uint32_t reference) |
| Initialize 12-bit ADC0. More... | |
| uint32_t | ADC0_In (void) |
| Trigger ADC measurement and wait for result. More... | |
| void | ADC1_Init (uint32_t channel, uint32_t reference) |
| Initialize 12-bit ADC0. More... | |
| uint32_t | ADC1_In (void) |
| Trigger ADC measurement and wait for result. More... | |
| void | ADC_Init (ADC12_Regs *adc12, uint32_t channel, uint32_t reference) |
| Initialize 12-bit ADC0. More... | |
| uint32_t | ADC_In (ADC12_Regs *adc12) |
| Trigger ADC measurement and wait for result. More... | |
| void | ADC_InitDual (ADC12_Regs *adc12, uint32_t channel1, uint32_t channel2, uint32_t reference) |
| Initialize 12-bit ADC for two channels. More... | |
| void | ADC_InDual (ADC12_Regs *adc12, uint32_t *d1, uint32_t *d2) |
| Trigger two ADC measurements and wait for results. More... | |
| void | ADC_InitTriple (ADC12_Regs *adc12, uint32_t channel1, uint32_t channel2, uint32_t channel3, uint32_t reference) |
| Initialize 12-bit ADC for three channels. More... | |
| void | ADC_InTriple (ADC12_Regs *adc12, uint32_t *d1, uint32_t *d2, uint32_t *d3) |
| Trigger three ADC measurements and wait for results. More... | |
| void | ADC0_InitAve (uint32_t channel, uint32_t n) |
| Initialize 12-bit ADC0 for hardware averaging. More... | |
Initialize 12-bit ADC0 and/or ADC1.
ADC input, software trigger, 12-bit conversion
The ADC allows two possible references: 2.5V or 3.3V.
The internal 2.5V reference is lower noise, but limits the range to 0 to 2.5V.
The other possibility is to use the analog voltage supply at 3.3V, making the ADC range 0 to 3.3V. In this driver, the 3.3V range is selected. There are several configurations (each with initialization and a read ADC with software trigger, busy-wait function)
| Pin | ADC channel | Sensor |
|---|---|---|
| PA27 | ADC0 channel 0 | J1.8 also MKII light interrupt |
| PA26 | ADC0 channel 1 | J1.6 MKII microphone in |
| PA25 | ADC0 channel 2 | J1.2 MKII Joystick X |
| PA24 | ADC0 channel 3 | J3.27 free |
| PB25 | ADC0 channel 4 | J19.7 (insert 0ohm R74, no U3 OPA2365) |
| PB24 | ADC0 channel 5 | J1.5 also MKII joystick select button |
| PB20 | ADC0 channel 6 | J4.36 free |
| PA22 | ADC0 channel 7 | J24 MKII Accelerometer Y |
| PA15 | ADC1 channel 0 | J3.30 (also DACout) |
| PA16 | ADC1 channel 1 | J3.29 free |
| PA17 | ADC1 channel 2 | J3.28 free |
| PA18 | ADC1 channel 3 | J3.26 MKII Joystick Y |
| PB17 | ADC1 channel 4 | J2.18 free |
| PB18 | ADC1 channel 5 | J3.25 MKII Accelerometer Z |
| PB19 | ADC1 channel 6 | J3.23 MKII Accelerometer X |
| PA21 | ADC1 channel 7 | J17.8 (insert R20, remove R3) |