Analog to Digital Converter with a maximum of 14-bit resolution. More...
Macros | |
#define | ADC_CLOCKSOURCE_ADCOSC (ADC14_CTL0_SSEL_0) |
#define | ADC_CLOCKSOURCE_SYSOSC (ADC14_CTL0_SSEL_1) |
#define | ADC_CLOCKSOURCE_ACLK (ADC14_CTL0_SSEL_2) |
#define | ADC_CLOCKSOURCE_MCLK (ADC14_CTL0_SSEL_3) |
#define | ADC_CLOCKSOURCE_SMCLK (ADC14_CTL0_SSEL_4) |
#define | ADC_CLOCKSOURCE_HSMCLK (ADC14_CTL0_SSEL_5) |
#define | ADC_PREDIVIDER_1 (ADC14_CTL0_PDIV_0) |
#define | ADC_PREDIVIDER_4 (ADC14_CTL0_PDIV_1) |
#define | ADC_PREDIVIDER_32 (ADC14_CTL0_PDIV_2) |
#define | ADC_PREDIVIDER_64 (ADC14_CTL0_PDIV_3) |
#define | ADC_DIVIDER_1 (ADC14_CTL0_DIV_0) |
#define | ADC_DIVIDER_2 (ADC14_CTL0_DIV_1) |
#define | ADC_DIVIDER_3 (ADC14_CTL0_DIV_2) |
#define | ADC_DIVIDER_4 (ADC14_CTL0_DIV_3) |
#define | ADC_DIVIDER_5 (ADC14_CTL0_DIV_4) |
#define | ADC_DIVIDER_6 (ADC14_CTL0_DIV_5) |
#define | ADC_DIVIDER_7 (ADC14_CTL0_DIV_6) |
#define | ADC_DIVIDER_8 (ADC14_CTL0_DIV_7) |
#define | ADC_MAPINTCH3 (ADC14_CTL1_CH3MAP) |
#define | ADC_MAPINTCH2 (ADC14_CTL1_CH2MAP) |
#define | ADC_MAPINTCH1 (ADC14_CTL1_CH1MAP) |
#define | ADC_MAPINTCH0 (ADC14_CTL1_CH0MAP) |
#define | ADC_TEMPSENSEMAP (ADC14_CTL1_TCMAP) |
#define | ADC_BATTMAP (ADC14_CTL1_BATMAP) |
#define | ADC_NOROUTE 0 |
#define | ADC_8BIT ADC14_CTL1_RES_0 |
#define | ADC_10BIT ADC14_CTL1_RES_1 |
#define | ADC_12BIT ADC14_CTL1_RES_2 |
#define | ADC_14BIT ADC14_CTL1_RES_3 |
#define | ADC_TRIGGER_ADCSC ADC14_CTL0_SHS_0 |
#define | ADC_TRIGGER_SOURCE1 ADC14_CTL0_SHS_1 |
#define | ADC_TRIGGER_SOURCE2 ADC14_CTL0_SHS_2 |
#define | ADC_TRIGGER_SOURCE3 ADC14_CTL0_SHS_3 |
#define | ADC_TRIGGER_SOURCE4 ADC14_CTL0_SHS_4 |
#define | ADC_TRIGGER_SOURCE5 ADC14_CTL0_SHS_5 |
#define | ADC_TRIGGER_SOURCE6 ADC14_CTL0_SHS_6 |
#define | ADC_TRIGGER_SOURCE7 ADC14_CTL0_SHS_7 |
#define | ADC_PULSE_WIDTH_4 ADC14_CTL0_SHT1_0 |
#define | ADC_PULSE_WIDTH_8 ADC14_CTL0_SHT1_1 |
#define | ADC_PULSE_WIDTH_16 ADC14_CTL0_SHT1_2 |
#define | ADC_PULSE_WIDTH_32 ADC14_CTL0_SHT1_3 |
#define | ADC_PULSE_WIDTH_64 ADC14_CTL0_SHT1_4 |
#define | ADC_PULSE_WIDTH_96 ADC14_CTL0_SHT1_5 |
#define | ADC_PULSE_WIDTH_128 ADC14_CTL0_SHT1_6 |
#define | ADC_PULSE_WIDTH_192 ADC14_CTL0_SHT1_7 |
#define | ADC_NONDIFFERENTIAL_INPUTS false |
#define | ADC_DIFFERENTIAL_INPUTS true |
#define | ADC_MEM0 0x00000001 |
#define | ADC_MEM1 0x00000002 |
#define | ADC_MEM2 0x00000004 |
#define | ADC_MEM3 0x00000008 |
#define | ADC_MEM4 0x00000010 |
#define | ADC_MEM5 0x00000020 |
#define | ADC_MEM6 0x00000040 |
#define | ADC_MEM7 0x00000080 |
#define | ADC_MEM8 0x00000100 |
#define | ADC_MEM9 0x00000200 |
#define | ADC_MEM10 0x00000400 |
#define | ADC_MEM11 0x00000800 |
#define | ADC_MEM12 0x00001000 |
#define | ADC_MEM13 0x00002000 |
#define | ADC_MEM14 0x00004000 |
#define | ADC_MEM15 0x00008000 |
#define | ADC_MEM16 0x00010000 |
#define | ADC_MEM17 0x00020000 |
#define | ADC_MEM18 0x00040000 |
#define | ADC_MEM19 0x00080000 |
#define | ADC_MEM20 0x00100000 |
#define | ADC_MEM21 0x00200000 |
#define | ADC_MEM22 0x00400000 |
#define | ADC_MEM23 0x00800000 |
#define | ADC_MEM24 0x01000000 |
#define | ADC_MEM25 0x02000000 |
#define | ADC_MEM26 0x04000000 |
#define | ADC_MEM27 0x08000000 |
#define | ADC_MEM28 0x10000000 |
#define | ADC_MEM29 0x20000000 |
#define | ADC_MEM30 0x40000000 |
#define | ADC_MEM31 0x80000000 |
#define | ADC_VREFPOS_AVCC_VREFNEG_VSS (ADC14_MCTLN_VRSEL_0) |
#define | ADC_VREFPOS_INTBUF_VREFNEG_VSS (ADC14_MCTLN_VRSEL_1) |
#define | ADC_VREFPOS_EXTPOS_VREFNEG_EXTNEG (ADC14_MCTLN_VRSEL_14) |
#define | ADC_VREFPOS_EXTBUF_VREFNEG_EXTNEG (ADC14_MCTLN_VRSEL_15) |
#define | ADC_INPUT_A0 (ADC14_MCTLN_INCH_0) |
#define | ADC_INPUT_A1 (ADC14_MCTLN_INCH_1) |
#define | ADC_INPUT_A2 (ADC14_MCTLN_INCH_2) |
#define | ADC_INPUT_A3 (ADC14_MCTLN_INCH_3) |
#define | ADC_INPUT_A4 (ADC14_MCTLN_INCH_4) |
#define | ADC_INPUT_A5 (ADC14_MCTLN_INCH_5) |
#define | ADC_INPUT_A6 (ADC14_MCTLN_INCH_6) |
#define | ADC_INPUT_A7 (ADC14_MCTLN_INCH_7) |
#define | ADC_INPUT_A8 (ADC14_MCTLN_INCH_8) |
#define | ADC_INPUT_A9 (ADC14_MCTLN_INCH_9) |
#define | ADC_INPUT_A10 (ADC14_MCTLN_INCH_10) |
#define | ADC_INPUT_A11 (ADC14_MCTLN_INCH_11) |
#define | ADC_INPUT_A12 (ADC14_MCTLN_INCH_12) |
#define | ADC_INPUT_A13 (ADC14_MCTLN_INCH_13) |
#define | ADC_INPUT_A14 (ADC14_MCTLN_INCH_14) |
#define | ADC_INPUT_A15 (ADC14_MCTLN_INCH_15) |
#define | ADC_INPUT_A16 (ADC14_MCTLN_INCH_16) |
#define | ADC_INPUT_A17 (ADC14_MCTLN_INCH_17) |
#define | ADC_INPUT_A18 (ADC14_MCTLN_INCH_18) |
#define | ADC_INPUT_A19 (ADC14_MCTLN_INCH_19) |
#define | ADC_INPUT_A20 (ADC14_MCTLN_INCH_20) |
#define | ADC_INPUT_A21 (ADC14_MCTLN_INCH_21) |
#define | ADC_INPUT_A22 (ADC14_MCTLN_INCH_22) |
#define | ADC_INPUT_A23 (ADC14_MCTLN_INCH_23) |
#define | ADC_INPUT_A24 (ADC14_MCTLN_INCH_24) |
#define | ADC_INPUT_A25 (ADC14_MCTLN_INCH_25) |
#define | ADC_INPUT_A26 (ADC14_MCTLN_INCH_26) |
#define | ADC_INPUT_A27 (ADC14_MCTLN_INCH_27) |
#define | ADC_INPUT_A28 (ADC14_MCTLN_INCH_28) |
#define | ADC_INPUT_A29 (ADC14_MCTLN_INCH_29) |
#define | ADC_INPUT_A30 (ADC14_MCTLN_INCH_30) |
#define | ADC_INPUT_A31 (ADC14_MCTLN_INCH_31) |
#define | ADC_COMP_WINDOW0 0x00 |
#define | ADC_COMP_WINDOW1 0x01 |
#define | ADC_SIGNED_BINARY 0x00 |
#define | ADC_UNSIGNED_BINARY 0x01 |
#define | ADC_MANUAL_ITERATION 0x00 |
#define | ADC_AUTOMATIC_ITERATION ADC14_CTL0_MSC |
#define | ADC_UNRESTRICTED_POWER_MODE ADC14_CTL1_PWRMD_0 |
#define | ADC_ULTRA_LOW_POWER_MODE ADC14_CTL1_PWRMD_2 |
#define | ADC_INT0 ADC14_IER0_IE0 |
#define | ADC_INT1 ADC14_IER0_IE1 |
#define | ADC_INT2 ADC14_IER0_IE2 |
#define | ADC_INT3 ADC14_IER0_IE3 |
#define | ADC_INT4 ADC14_IER0_IE4 |
#define | ADC_INT5 ADC14_IER0_IE5 |
#define | ADC_INT6 ADC14_IER0_IE6 |
#define | ADC_INT7 ADC14_IER0_IE7 |
#define | ADC_INT8 ADC14_IER0_IE8 |
#define | ADC_INT9 ADC14_IER0_IE9 |
#define | ADC_INT10 ADC14_IER0_IE10 |
#define | ADC_INT11 ADC14_IER0_IE11 |
#define | ADC_INT12 ADC14_IER0_IE12 |
#define | ADC_INT13 ADC14_IER0_IE13 |
#define | ADC_INT14 ADC14_IER0_IE14 |
#define | ADC_INT15 ADC14_IER0_IE15 |
#define | ADC_INT16 ADC14_IER0_IE16 |
#define | ADC_INT17 ADC14_IER0_IE17 |
#define | ADC_INT18 ADC14_IER0_IE18 |
#define | ADC_INT19 ADC14_IER0_IE19 |
#define | ADC_INT20 ADC14_IER0_IE20 |
#define | ADC_INT21 ADC14_IER0_IE21 |
#define | ADC_INT22 ADC14_IER0_IE22 |
#define | ADC_INT23 ADC14_IER0_IE23 |
#define | ADC_INT24 ADC14_IER0_IE24 |
#define | ADC_INT25 ADC14_IER0_IE25 |
#define | ADC_INT26 ADC14_IER0_IE26 |
#define | ADC_INT27 ADC14_IER0_IE27 |
#define | ADC_INT28 ADC14_IER0_IE28 |
#define | ADC_INT29 ADC14_IER0_IE29 |
#define | ADC_INT30 ADC14_IER0_IE30 |
#define | ADC_INT31 ADC14_IER0_IE31 |
#define | ADC_IN_INT 0x0000000200000000 |
#define | ADC_LO_INT 0x0000000400000000 |
#define | ADC_HI_INT 0x0000000800000000 |
#define | ADC_OV_INT 0x0000001000000000 |
#define | ADC_TOV_INT 0x0000002000000000 |
#define | ADC_RDY_INT 0x0000004000000000 |
#define | ADC_INVALID_MEM 32 |
#define | ADC14_enableModuleMultipleInstance(a) ADC14_enableModule() |
#define | ADC14_disableModuleMultipleInstance(a) ADC14_disableModule() |
#define | ADC14_initModuleMultipleInstance(a, b, c, d, e) ADC14_initModule(b,c,d,e) |
#define | ADC14_setResolutionMultipleInstance(a, b) ADC14_setResolution(b) |
#define | ADC14_getResolutionMultipleInstance(a) ADC14_getResolution() |
#define | ADC14_setSampleHoldTriggerMultipleInstance(a, b, c) ADC14_setSampleHoldTrigger(b,c) |
#define | ADC14_setSampleHoldTimeMultipleInstance(a, b, c) ADC14_setSampleHoldTime(b,c) |
#define | ADC14_configureMultiSequenceModeMultipleInstance(a, b, c, d) ADC14_configureMultiSequenceMode(b,c,d) |
#define | ADC14_configureSingleSampleModeMultipleInstance(a, b, c) ADC14_configureSingleSampleMode(b,c) |
#define | ADC14_enableConversionMultipleInstance(a, b) ADC14_enableConversion(b) |
#define | ADC14_disableConversionMultipleInstance(a) ADC14_disableConversion() |
#define | ADC14_toggleConversionTriggerMultipleInstance(a) ADC14_toggleConversionTrigger() |
#define | ADC14_isBusyMultipleInstance(a) ADC14_isBusy() |
#define | ADC14_configureConversionMemoryMultipleInstance(a, b, c, d, e) ADC14_configureConversionMemory(b,c,d,e) |
#define | ADC14_enableComparatorWindowMultipleInstance(a, b, c) ADC14_enableComparatorWindow(b,c) |
#define | ADC14_disableComparatorWindowMultipleInstance(a, b) ADC14_disableComparatorWindow(b) |
#define | ADC14_setComparatorWindowValueMultipleInstance(a, b, c, d) ADC14_setComparatorWindowValue(b,c,d) |
#define | ADC14_setResultFormatMultipleInstance(a, b) ADC14_setResultFormat(b) |
#define | ADC14_getResultMultipleInstance(a, b) ADC14_getResult(b) |
#define | ADC14_getMultiSequenceResultMultipleInstance(a, b) ADC14_getMultiSequenceResult(b) |
#define | ADC14_getResultArrayMultipleInstance(a, b, c, d) ADC14_getResultArray(b,c,d) |
#define | ADC14_enableReferenceBurstMultipleInstance(a) ADC14_enableReferenceBurst() |
#define | ADC14_disableReferenceBurstMultipleInstance(a) ADC14_disableReferenceBurst() |
#define | ADC14_setPowerModeMultipleInstance(a, b) ADC14_setPowerMode(b) |
#define | ADC14_enableSampleTimerMultipleInstance(a, b) ADC14_enableSampleTimer(b) |
#define | ADC14_disableSampleTimerMultipleInstance(a) ADC14_disableSampleTimer() |
#define | ADC14_enableInterruptMultipleInstance(a, b) ADC14_enableInterrupt(b) |
#define | ADC14_disableInterruptMultipleInstance(a, b) ADC14_disableInterrupt(b) |
#define | ADC14_getInterruptStatusMultipleInstance(a) ADC14_getInterruptStatus() |
#define | ADC14_getEnabledInterruptStatusMultipleInstance(a) ADC14_getEnabledInterruptStatus() |
#define | ADC14_clearInterruptFlagMultipleInstance(a, b) ADC14_clearInterruptFlag(b) |
#define | ADC14_registerInterruptMultipleInstance(a, b) ADC14_registerInterrupt(b) |
#define | ADC14_unregisterInterruptMultipleInstance(a) ADC14_unregisterInterrupt() |
Functions | |
void | ADC14_enableModule (void) |
bool | ADC14_disableModule (void) |
bool | ADC14_initModule (uint32_t clockSource, uint32_t clockPredivider, uint32_t clockDivider, uint32_t internalChannelMask) |
void | ADC14_setResolution (uint32_t resolution) |
uint_fast32_t | ADC14_getResolution (void) |
bool | ADC14_setSampleHoldTrigger (uint32_t source, bool invertSignal) |
bool | ADC14_setSampleHoldTime (uint32_t firstPulseWidth, uint32_t secondPulseWidth) |
bool | ADC14_configureMultiSequenceMode (uint32_t memoryStart, uint32_t memoryEnd, bool repeatMode) |
bool | ADC14_configureSingleSampleMode (uint32_t memoryDestination, bool repeatMode) |
bool | ADC14_enableConversion (void) |
void | ADC14_disableConversion (void) |
bool | ADC14_toggleConversionTrigger (void) |
bool | ADC14_isBusy (void) |
bool | ADC14_configureConversionMemory (uint32_t memorySelect, uint32_t refSelect, uint32_t channelSelect, bool differntialMode) |
bool | ADC14_enableComparatorWindow (uint32_t memorySelect, uint32_t windowSelect) |
bool | ADC14_disableComparatorWindow (uint32_t memorySelect) |
bool | ADC14_setComparatorWindowValue (uint32_t window, int16_t low, int16_t high) |
bool | ADC14_setResultFormat (uint32_t resultFormat) |
uint_fast16_t | ADC14_getResult (uint32_t memorySelect) |
void | ADC14_getMultiSequenceResult (uint16_t *res) |
void | ADC14_getResultArray (uint32_t memoryStart, uint32_t memoryEnd, uint16_t *res) |
bool | ADC14_enableReferenceBurst (void) |
bool | ADC14_disableReferenceBurst (void) |
bool | ADC14_setPowerMode (uint32_t powerMode) |
bool | ADC14_enableSampleTimer (uint32_t multiSampleConvert) |
bool | ADC14_disableSampleTimer (void) |
void | ADC14_enableInterrupt (uint_fast64_t mask) |
void | ADC14_disableInterrupt (uint_fast64_t mask) |
uint_fast64_t | ADC14_getInterruptStatus (void) |
uint_fast64_t | ADC14_getEnabledInterruptStatus (void) |
void | ADC14_clearInterruptFlag (uint_fast64_t mask) |
void | ADC14_registerInterrupt (void(*intHandler)(void)) |
void | ADC14_unregisterInterrupt (void) |
Analog to Digital Converter with a maximum of 14-bit resolution.
The ADC14 APIs also support the setup/configuration of multiple conversion mode. With multiple conversion mode, multiple ADC channels are sampled and stored in multiple ADC memory addresses in a single sweep. This is particularly useful when the user wants to take a sample of multiple channels over a period of time (also known as scan mode). The ADC14_getMultiSequenceResult function is used to populate the given array pointer with the result over a wide memory arrange (setup with ADC14_configureMultiSequenceMode ).
When repeat mode is specified to be false, whenever a conversion/sample is finished and read from the result register, the module will stop conversion until called by the ADC14_toggleConversionTrigger function.
It is important to note that when using floating point arithmetic, it is important to enable the devices FPU (if available) to save CPU cycles and energy consumption.
Below is a very brief code example showing how to configure the ADC14 module in single sample mode. For a set of more detailed code examples, please refer to the code examples in the examples/ directory of the SDK release:
#define ADC_CLOCKSOURCE_ADCOSC (ADC14_CTL0_SSEL_0) |
Referenced by ADC14_initModule().
#define ADC_CLOCKSOURCE_SYSOSC (ADC14_CTL0_SSEL_1) |
Referenced by ADC14_initModule().
#define ADC_CLOCKSOURCE_ACLK (ADC14_CTL0_SSEL_2) |
Referenced by ADC14_initModule().
#define ADC_CLOCKSOURCE_MCLK (ADC14_CTL0_SSEL_3) |
Referenced by ADC14_initModule().
#define ADC_CLOCKSOURCE_SMCLK (ADC14_CTL0_SSEL_4) |
Referenced by ADC14_initModule().
#define ADC_CLOCKSOURCE_HSMCLK (ADC14_CTL0_SSEL_5) |
Referenced by ADC14_initModule().
#define ADC_PREDIVIDER_1 (ADC14_CTL0_PDIV_0) |
Referenced by ADC14_initModule().
#define ADC_PREDIVIDER_4 (ADC14_CTL0_PDIV_1) |
Referenced by ADC14_initModule().
#define ADC_PREDIVIDER_32 (ADC14_CTL0_PDIV_2) |
Referenced by ADC14_initModule().
#define ADC_PREDIVIDER_64 (ADC14_CTL0_PDIV_3) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_1 (ADC14_CTL0_DIV_0) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_2 (ADC14_CTL0_DIV_1) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_3 (ADC14_CTL0_DIV_2) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_4 (ADC14_CTL0_DIV_3) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_5 (ADC14_CTL0_DIV_4) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_6 (ADC14_CTL0_DIV_5) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_7 (ADC14_CTL0_DIV_6) |
Referenced by ADC14_initModule().
#define ADC_DIVIDER_8 (ADC14_CTL0_DIV_7) |
Referenced by ADC14_initModule().
#define ADC_MAPINTCH3 (ADC14_CTL1_CH3MAP) |
Referenced by ADC14_initModule().
#define ADC_MAPINTCH2 (ADC14_CTL1_CH2MAP) |
Referenced by ADC14_initModule().
#define ADC_MAPINTCH1 (ADC14_CTL1_CH1MAP) |
Referenced by ADC14_initModule().
#define ADC_MAPINTCH0 (ADC14_CTL1_CH0MAP) |
Referenced by ADC14_initModule().
#define ADC_TEMPSENSEMAP (ADC14_CTL1_TCMAP) |
Referenced by ADC14_initModule().
#define ADC_BATTMAP (ADC14_CTL1_BATMAP) |
Referenced by ADC14_initModule().
#define ADC_NOROUTE 0 |
#define ADC_8BIT ADC14_CTL1_RES_0 |
Referenced by ADC14_setResolution().
#define ADC_10BIT ADC14_CTL1_RES_1 |
Referenced by ADC14_setResolution().
#define ADC_12BIT ADC14_CTL1_RES_2 |
Referenced by ADC14_setResolution().
#define ADC_14BIT ADC14_CTL1_RES_3 |
Referenced by ADC14_setResolution().
#define ADC_TRIGGER_ADCSC ADC14_CTL0_SHS_0 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE1 ADC14_CTL0_SHS_1 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE2 ADC14_CTL0_SHS_2 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE3 ADC14_CTL0_SHS_3 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE4 ADC14_CTL0_SHS_4 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE5 ADC14_CTL0_SHS_5 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE6 ADC14_CTL0_SHS_6 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_TRIGGER_SOURCE7 ADC14_CTL0_SHS_7 |
Referenced by ADC14_setSampleHoldTrigger().
#define ADC_PULSE_WIDTH_4 ADC14_CTL0_SHT1_0 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_8 ADC14_CTL0_SHT1_1 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_16 ADC14_CTL0_SHT1_2 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_32 ADC14_CTL0_SHT1_3 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_64 ADC14_CTL0_SHT1_4 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_96 ADC14_CTL0_SHT1_5 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_128 ADC14_CTL0_SHT1_6 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_PULSE_WIDTH_192 ADC14_CTL0_SHT1_7 |
Referenced by ADC14_setSampleHoldTime().
#define ADC_NONDIFFERENTIAL_INPUTS false |
#define ADC_DIFFERENTIAL_INPUTS true |
#define ADC_MEM0 0x00000001 |
#define ADC_MEM1 0x00000002 |
#define ADC_MEM2 0x00000004 |
#define ADC_MEM3 0x00000008 |
#define ADC_MEM4 0x00000010 |
#define ADC_MEM5 0x00000020 |
#define ADC_MEM6 0x00000040 |
#define ADC_MEM7 0x00000080 |
#define ADC_MEM8 0x00000100 |
#define ADC_MEM9 0x00000200 |
#define ADC_MEM10 0x00000400 |
#define ADC_MEM11 0x00000800 |
#define ADC_MEM12 0x00001000 |
#define ADC_MEM13 0x00002000 |
#define ADC_MEM14 0x00004000 |
#define ADC_MEM15 0x00008000 |
#define ADC_MEM16 0x00010000 |
#define ADC_MEM17 0x00020000 |
#define ADC_MEM18 0x00040000 |
#define ADC_MEM19 0x00080000 |
#define ADC_MEM20 0x00100000 |
#define ADC_MEM21 0x00200000 |
#define ADC_MEM22 0x00400000 |
#define ADC_MEM23 0x00800000 |
#define ADC_MEM24 0x01000000 |
#define ADC_MEM25 0x02000000 |
#define ADC_MEM26 0x04000000 |
#define ADC_MEM27 0x08000000 |
#define ADC_MEM28 0x10000000 |
#define ADC_MEM29 0x20000000 |
#define ADC_MEM30 0x40000000 |
#define ADC_MEM31 0x80000000 |
#define ADC_VREFPOS_AVCC_VREFNEG_VSS (ADC14_MCTLN_VRSEL_0) |
#define ADC_VREFPOS_INTBUF_VREFNEG_VSS (ADC14_MCTLN_VRSEL_1) |
#define ADC_VREFPOS_EXTPOS_VREFNEG_EXTNEG (ADC14_MCTLN_VRSEL_14) |
#define ADC_VREFPOS_EXTBUF_VREFNEG_EXTNEG (ADC14_MCTLN_VRSEL_15) |
#define ADC_INPUT_A0 (ADC14_MCTLN_INCH_0) |
#define ADC_INPUT_A1 (ADC14_MCTLN_INCH_1) |
#define ADC_INPUT_A2 (ADC14_MCTLN_INCH_2) |
#define ADC_INPUT_A3 (ADC14_MCTLN_INCH_3) |
#define ADC_INPUT_A4 (ADC14_MCTLN_INCH_4) |
#define ADC_INPUT_A5 (ADC14_MCTLN_INCH_5) |
#define ADC_INPUT_A6 (ADC14_MCTLN_INCH_6) |
#define ADC_INPUT_A7 (ADC14_MCTLN_INCH_7) |
#define ADC_INPUT_A8 (ADC14_MCTLN_INCH_8) |
#define ADC_INPUT_A9 (ADC14_MCTLN_INCH_9) |
#define ADC_INPUT_A10 (ADC14_MCTLN_INCH_10) |
#define ADC_INPUT_A11 (ADC14_MCTLN_INCH_11) |
#define ADC_INPUT_A12 (ADC14_MCTLN_INCH_12) |
#define ADC_INPUT_A13 (ADC14_MCTLN_INCH_13) |
#define ADC_INPUT_A14 (ADC14_MCTLN_INCH_14) |
#define ADC_INPUT_A15 (ADC14_MCTLN_INCH_15) |
#define ADC_INPUT_A16 (ADC14_MCTLN_INCH_16) |
#define ADC_INPUT_A17 (ADC14_MCTLN_INCH_17) |
#define ADC_INPUT_A18 (ADC14_MCTLN_INCH_18) |
#define ADC_INPUT_A19 (ADC14_MCTLN_INCH_19) |
#define ADC_INPUT_A20 (ADC14_MCTLN_INCH_20) |
#define ADC_INPUT_A21 (ADC14_MCTLN_INCH_21) |
#define ADC_INPUT_A22 (ADC14_MCTLN_INCH_22) |
#define ADC_INPUT_A23 (ADC14_MCTLN_INCH_23) |
#define ADC_INPUT_A24 (ADC14_MCTLN_INCH_24) |
#define ADC_INPUT_A25 (ADC14_MCTLN_INCH_25) |
#define ADC_INPUT_A26 (ADC14_MCTLN_INCH_26) |
#define ADC_INPUT_A27 (ADC14_MCTLN_INCH_27) |
#define ADC_INPUT_A28 (ADC14_MCTLN_INCH_28) |
#define ADC_INPUT_A29 (ADC14_MCTLN_INCH_29) |
#define ADC_INPUT_A30 (ADC14_MCTLN_INCH_30) |
#define ADC_INPUT_A31 (ADC14_MCTLN_INCH_31) |
#define ADC_COMP_WINDOW0 0x00 |
Referenced by ADC14_enableComparatorWindow(), and ADC14_setComparatorWindowValue().
#define ADC_COMP_WINDOW1 0x01 |
Referenced by ADC14_enableComparatorWindow(), and ADC14_setComparatorWindowValue().
#define ADC_SIGNED_BINARY 0x00 |
Referenced by ADC14_setResultFormat().
#define ADC_UNSIGNED_BINARY 0x01 |
Referenced by ADC14_setResultFormat().
#define ADC_MANUAL_ITERATION 0x00 |
Referenced by ADC14_enableSampleTimer().
#define ADC_AUTOMATIC_ITERATION ADC14_CTL0_MSC |
#define ADC_UNRESTRICTED_POWER_MODE ADC14_CTL1_PWRMD_0 |
Referenced by ADC14_setPowerMode().
#define ADC_ULTRA_LOW_POWER_MODE ADC14_CTL1_PWRMD_2 |
Referenced by ADC14_setPowerMode().
#define ADC_INT0 ADC14_IER0_IE0 |
#define ADC_INT1 ADC14_IER0_IE1 |
#define ADC_INT2 ADC14_IER0_IE2 |
#define ADC_INT3 ADC14_IER0_IE3 |
#define ADC_INT4 ADC14_IER0_IE4 |
#define ADC_INT5 ADC14_IER0_IE5 |
#define ADC_INT6 ADC14_IER0_IE6 |
#define ADC_INT7 ADC14_IER0_IE7 |
#define ADC_INT8 ADC14_IER0_IE8 |
#define ADC_INT9 ADC14_IER0_IE9 |
#define ADC_INT10 ADC14_IER0_IE10 |
#define ADC_INT11 ADC14_IER0_IE11 |
#define ADC_INT12 ADC14_IER0_IE12 |
#define ADC_INT13 ADC14_IER0_IE13 |
#define ADC_INT14 ADC14_IER0_IE14 |
#define ADC_INT15 ADC14_IER0_IE15 |
#define ADC_INT16 ADC14_IER0_IE16 |
#define ADC_INT17 ADC14_IER0_IE17 |
#define ADC_INT18 ADC14_IER0_IE18 |
#define ADC_INT19 ADC14_IER0_IE19 |
#define ADC_INT20 ADC14_IER0_IE20 |
#define ADC_INT21 ADC14_IER0_IE21 |
#define ADC_INT22 ADC14_IER0_IE22 |
#define ADC_INT23 ADC14_IER0_IE23 |
#define ADC_INT24 ADC14_IER0_IE24 |
#define ADC_INT25 ADC14_IER0_IE25 |
#define ADC_INT26 ADC14_IER0_IE26 |
#define ADC_INT27 ADC14_IER0_IE27 |
#define ADC_INT28 ADC14_IER0_IE28 |
#define ADC_INT29 ADC14_IER0_IE29 |
#define ADC_INT30 ADC14_IER0_IE30 |
#define ADC_INT31 ADC14_IER0_IE31 |
#define ADC_IN_INT 0x0000000200000000 |
#define ADC_LO_INT 0x0000000400000000 |
#define ADC_HI_INT 0x0000000800000000 |
#define ADC_OV_INT 0x0000001000000000 |
#define ADC_TOV_INT 0x0000002000000000 |
#define ADC_RDY_INT 0x0000004000000000 |
#define ADC_INVALID_MEM 32 |
Referenced by ADC14_configureMultiSequenceMode(), and ADC14_getResultArray().
#define ADC14_enableModuleMultipleInstance | ( | a | ) | ADC14_enableModule() |
#define ADC14_disableModuleMultipleInstance | ( | a | ) | ADC14_disableModule() |
#define ADC14_initModuleMultipleInstance | ( | a, | |
b, | |||
c, | |||
d, | |||
e | |||
) | ADC14_initModule(b,c,d,e) |
#define ADC14_setResolutionMultipleInstance | ( | a, | |
b | |||
) | ADC14_setResolution(b) |
#define ADC14_getResolutionMultipleInstance | ( | a | ) | ADC14_getResolution() |
#define ADC14_setSampleHoldTriggerMultipleInstance | ( | a, | |
b, | |||
c | |||
) | ADC14_setSampleHoldTrigger(b,c) |
#define ADC14_setSampleHoldTimeMultipleInstance | ( | a, | |
b, | |||
c | |||
) | ADC14_setSampleHoldTime(b,c) |
#define ADC14_configureMultiSequenceModeMultipleInstance | ( | a, | |
b, | |||
c, | |||
d | |||
) | ADC14_configureMultiSequenceMode(b,c,d) |
#define ADC14_configureSingleSampleModeMultipleInstance | ( | a, | |
b, | |||
c | |||
) | ADC14_configureSingleSampleMode(b,c) |
#define ADC14_enableConversionMultipleInstance | ( | a, | |
b | |||
) | ADC14_enableConversion(b) |
#define ADC14_disableConversionMultipleInstance | ( | a | ) | ADC14_disableConversion() |
#define ADC14_toggleConversionTriggerMultipleInstance | ( | a | ) | ADC14_toggleConversionTrigger() |
#define ADC14_isBusyMultipleInstance | ( | a | ) | ADC14_isBusy() |
#define ADC14_configureConversionMemoryMultipleInstance | ( | a, | |
b, | |||
c, | |||
d, | |||
e | |||
) | ADC14_configureConversionMemory(b,c,d,e) |
#define ADC14_enableComparatorWindowMultipleInstance | ( | a, | |
b, | |||
c | |||
) | ADC14_enableComparatorWindow(b,c) |
#define ADC14_disableComparatorWindowMultipleInstance | ( | a, | |
b | |||
) | ADC14_disableComparatorWindow(b) |
#define ADC14_setComparatorWindowValueMultipleInstance | ( | a, | |
b, | |||
c, | |||
d | |||
) | ADC14_setComparatorWindowValue(b,c,d) |
#define ADC14_setResultFormatMultipleInstance | ( | a, | |
b | |||
) | ADC14_setResultFormat(b) |
#define ADC14_getResultMultipleInstance | ( | a, | |
b | |||
) | ADC14_getResult(b) |
#define ADC14_getMultiSequenceResultMultipleInstance | ( | a, | |
b | |||
) | ADC14_getMultiSequenceResult(b) |
#define ADC14_getResultArrayMultipleInstance | ( | a, | |
b, | |||
c, | |||
d | |||
) | ADC14_getResultArray(b,c,d) |
#define ADC14_enableReferenceBurstMultipleInstance | ( | a | ) | ADC14_enableReferenceBurst() |
#define ADC14_disableReferenceBurstMultipleInstance | ( | a | ) | ADC14_disableReferenceBurst() |
#define ADC14_setPowerModeMultipleInstance | ( | a, | |
b | |||
) | ADC14_setPowerMode(b) |
#define ADC14_enableSampleTimerMultipleInstance | ( | a, | |
b | |||
) | ADC14_enableSampleTimer(b) |
#define ADC14_disableSampleTimerMultipleInstance | ( | a | ) | ADC14_disableSampleTimer() |
#define ADC14_enableInterruptMultipleInstance | ( | a, | |
b | |||
) | ADC14_enableInterrupt(b) |
#define ADC14_disableInterruptMultipleInstance | ( | a, | |
b | |||
) | ADC14_disableInterrupt(b) |
#define ADC14_getInterruptStatusMultipleInstance | ( | a | ) | ADC14_getInterruptStatus() |
#define ADC14_getEnabledInterruptStatusMultipleInstance | ( | a | ) | ADC14_getEnabledInterruptStatus() |
#define ADC14_clearInterruptFlagMultipleInstance | ( | a, | |
b | |||
) | ADC14_clearInterruptFlag(b) |
#define ADC14_registerInterruptMultipleInstance | ( | a, | |
b | |||
) | ADC14_registerInterrupt(b) |
#define ADC14_unregisterInterruptMultipleInstance | ( | a | ) | ADC14_unregisterInterrupt() |
void ADC14_enableModule | ( | void | ) |
Enables the ADC block.
This will enable operation of the ADC block.
bool ADC14_disableModule | ( | void | ) |
Disables the ADC block.
This will disable operation of the ADC block.
bool ADC14_initModule | ( | uint32_t | clockSource, |
uint32_t | clockPredivider, | ||
uint32_t | clockDivider, | ||
uint32_t | internalChannelMask | ||
) |
Initializes the ADC module and sets up the clock system divider/pre-divider. This initialization function will also configure the internal/external signal mapping.
clockSource | The clock source to use for the ADC module.
|
clockPredivider | Divides the given clock source before feeding it into the main clock divider. Valid values are:
|
clockDivider | Divides the pre-divided clock source Valid values are
|
internalChannelMask | Configures the internal/external pin mappings for the ADC modules. This setting determines if the given ADC channel or component is mapped to an external pin (default), or routed to an internal component. This parameter is a bit mask where a logical high value will switch the component to the internal routing. For a list of internal routings, please refer to the device specific data sheet. Valid values are a logical OR of the following values:
|
References ADC_BATTMAP, ADC_CLOCKSOURCE_ACLK, ADC_CLOCKSOURCE_ADCOSC, ADC_CLOCKSOURCE_HSMCLK, ADC_CLOCKSOURCE_MCLK, ADC_CLOCKSOURCE_SMCLK, ADC_CLOCKSOURCE_SYSOSC, ADC_DIVIDER_1, ADC_DIVIDER_2, ADC_DIVIDER_3, ADC_DIVIDER_4, ADC_DIVIDER_5, ADC_DIVIDER_6, ADC_DIVIDER_7, ADC_DIVIDER_8, ADC_MAPINTCH0, ADC_MAPINTCH1, ADC_MAPINTCH2, ADC_MAPINTCH3, ADC_PREDIVIDER_1, ADC_PREDIVIDER_32, ADC_PREDIVIDER_4, ADC_PREDIVIDER_64, ADC_TEMPSENSEMAP, and ASSERT.
void ADC14_setResolution | ( | uint32_t | resolution | ) |
Sets the resolution of the ADC module. The default resolution is 12-bit, however for power consumption concerns this can be limited to a lower resolution
resolution | Resolution of the ADC module
|
References ADC_10BIT, ADC_12BIT, ADC_14BIT, ADC_8BIT, and ASSERT.
uint_fast32_t ADC14_getResolution | ( | void | ) |
Gets the resolution of the ADC module.
bool ADC14_setSampleHoldTrigger | ( | uint32_t | source, |
bool | invertSignal | ||
) |
Sets the source for the trigger of the ADC module. By default, this value is configured to a software source (the ADCSC bit), however depending on the specific device the trigger can be set to different sources (for example, a timer output). These sources vary from part to part and the user should refer to the device specific datasheet.
source | Trigger source for sampling. Possible values include:
|
invertSignal | When set to true, will invert the trigger signal to a falling edge. When false, will use a rising edge. |
References ADC_TRIGGER_ADCSC, ADC_TRIGGER_SOURCE1, ADC_TRIGGER_SOURCE2, ADC_TRIGGER_SOURCE3, ADC_TRIGGER_SOURCE4, ADC_TRIGGER_SOURCE5, ADC_TRIGGER_SOURCE6, ADC_TRIGGER_SOURCE7, and ASSERT.
bool ADC14_setSampleHoldTime | ( | uint32_t | firstPulseWidth, |
uint32_t | secondPulseWidth | ||
) |
Sets the sample/hold time for the specified memory register range. The duration of time required for a sample differs depending on the user's hardware configuration.
There are two values in the ADCC module. The first value controls ADC memory locations ADC_MEMORY_0 through ADC_MEMORY_7 and ADC_MEMORY_24 through ADC_MEMORY_31, while the second value controls memory locations ADC_MEMORY_8 through ADC_MEMORY_23.
firstPulseWidth | Pulse width of the first pulse in ADCCLK cycles Possible values must be one of the following:
|
secondPulseWidth | Pulse width of the second pulse in ADCCLK cycles. Possible values must be one of the following:
|
References ADC_PULSE_WIDTH_128, ADC_PULSE_WIDTH_16, ADC_PULSE_WIDTH_192, ADC_PULSE_WIDTH_32, ADC_PULSE_WIDTH_4, ADC_PULSE_WIDTH_64, ADC_PULSE_WIDTH_8, ADC_PULSE_WIDTH_96, and ASSERT.
bool ADC14_configureMultiSequenceMode | ( | uint32_t | memoryStart, |
uint32_t | memoryEnd, | ||
bool | repeatMode | ||
) |
Configures the ADC module to use a multiple memory sample scheme. This means that multiple samples will consecutively take place and be stored in multiple memory locations. The first sample/conversion will be placed in memoryStart, while the last sample will be stored in memoryEnd. Each memory location should be configured individually using the ADC14_configureConversionMemory function.
The ADC module can be started in "repeat" mode which will cause the ADC module to resume sampling once the initial sample/conversion set is executed. For multi-sample mode, this means that the sampling of the entire memory provided.
memoryStart | Memory location to store first sample/conversion value. Possible values include:
|
memoryEnd | Memory location to store last sample. Possible values include:
|
repeatMode | Specifies whether or not to repeat the conversion/sample cycle after the first round of sample/conversions. Valid values are true or false. |
References ADC_INVALID_MEM, and ASSERT.
bool ADC14_configureSingleSampleMode | ( | uint32_t | memoryDestination, |
bool | repeatMode | ||
) |
Configures the ADC module to use a a single ADC memory location for sampling/conversion. This is used when only one channel might be needed for conversion, or where using a multiple sampling scheme is not important.
The ADC module can be started in "repeat" mode which will cause the ADC module to resume sampling once the initial sample/conversion set is executed. In single sample mode, this will cause the ADC module to continuously sample into the memory destination provided.
memoryDestination | Memory location to store sample/conversion value. Possible values include:
|
repeatMode | Specifies whether or not to repeat the conversion/sample cycle after the first round of sample/conversions |
References ASSERT.
bool ADC14_enableConversion | ( | void | ) |
Enables conversion of ADC data. Note that this only enables conversion. To trigger the conversion, you will have to call the ADC14_toggleConversionTrigger or use the source trigger configured in ADC14_setSampleHoldTrigger.
void ADC14_disableConversion | ( | void | ) |
Halts conversion conversion of the ADC module. Note that the software bit for triggering conversions will also be cleared with this function.
If multi-sequence conversion mode was enabled, the position of the last completed conversion can be retrieved using ADCLastConversionMemoryGet
bool ADC14_toggleConversionTrigger | ( | void | ) |
Toggles the trigger for conversion of the ADC module by toggling the trigger software bit. Note that this will cause the ADC to start conversion regardless if the software bit was set as the trigger using ADC14_setSampleHoldTrigger.
bool ADC14_isBusy | ( | void | ) |
Returns a boolean value that tells if a conversion/sample is in progress
bool ADC14_configureConversionMemory | ( | uint32_t | memorySelect, |
uint32_t | refSelect, | ||
uint32_t | channelSelect, | ||
bool | differntialMode | ||
) |
Configures an individual memory location for the ADC module.
memorySelect | is the individual ADC memory location to configure. If multiple memory locations want to be configured with the same configuration, this value can be logically ORed together with other values.
|
refSelect | is the voltage reference to use for the selected memory spot. Possible values include:
|
channelSelect | selects the channel to be used for ADC sampling. Note if differential mode is enabled, the value sampled will be equal to the difference between the corresponding even/odd memory locations. Possible values are:
|
differntialMode | selects if the channel selected by the channelSelect will be configured in differential mode. If this parameter is given as true, the configured channel will be paired with its neighbor in differential mode. for example, if channel A0 or A1 is selected, the channel configured will be the difference between A0 and A1. If A2 or A3 are selected, the channel configured will be the difference between A2 and A3 (and so on). Users can enter true or false, or one of the following values:
|
bool ADC14_enableComparatorWindow | ( | uint32_t | memorySelect, |
uint32_t | windowSelect | ||
) |
Enables the specified mask of memory channels to use the specified comparator window. THe ADCC module has two different comparator windows that can be set with this function.
memorySelect | is the mask of memory locations to enable the comparator window for. This can be a bitwise OR of the following values:
|
windowSelect | Memory location to store sample/conversion value. Possible values include: ADCOMP_WINDOW0 [DEFAULT] ADCOMP_WINDOW1 |
References ADC_COMP_WINDOW0, and ADC_COMP_WINDOW1.
bool ADC14_disableComparatorWindow | ( | uint32_t | memorySelect | ) |
Disables the comparator window on the specified memory channels
memorySelect | is the mask of memory locations to disable the comparator window for. This can be a bitwise OR of the following values:
|
bool ADC14_setComparatorWindowValue | ( | uint32_t | window, |
int16_t | low, | ||
int16_t | high | ||
) |
Sets the lower and upper limits of the specified window comparator. Note that this function will truncate values based of the resolution/data format configured. If the ADC is operating in 10-bit mode, and a 12-bit value is passed into this function the most significant 2 bits will be truncated.
The parameters provided to this function for the upper and lower threshold depend on the current resolution for the ADC. For example, if configured in 12-bit mode, a 12-bit resolution is the maximum that can be provided for the window. If in 2's complement mode, Bit 15 is used as the MSB.
window | Memory location to store sample/conversion value. Possible values include: ADC_COMP_WINDOW0 [DEFAULT] ADC_COMP_WINDOW1 |
low | is the lower limit of the window comparator |
high | is the upper limit of the window comparator |
References ADC_COMP_WINDOW0, ADC_COMP_WINDOW1, and ASSERT.
bool ADC14_setResultFormat | ( | uint32_t | resultFormat | ) |
Switches between a binary unsigned data format and a signed 2's complement data format.
resultFormat | Format for result to conversion results. Possible values include: ADC_UNSIGNED_BINARY [DEFAULT] ADC_SIGNED_BINARY |
References ADC_SIGNED_BINARY, ADC_UNSIGNED_BINARY, and ASSERT.
uint_fast16_t ADC14_getResult | ( | uint32_t | memorySelect | ) |
Returns the conversion result for the specified memory channel in the format assigned by the ADC14_setResultFormat (unsigned binary by default) function.
memorySelect | is the memory location to get the conversion result. Valid values are:
|
void ADC14_getMultiSequenceResult | ( | uint16_t * | res | ) |
Returns the conversion results of the currently configured multi-sequence conversion. If a multi-sequence conversion has not happened, this value is unreliable. Note that it is up to the user to verify the integrity of and proper size of the array being passed. If there are 16 multi-sequence results, and an array with only 4 elements allocated is passed, invalid memory settings will occur
res | conversion result of the last multi-sequence sample in an array of unsigned 16-bit integers |
void ADC14_getResultArray | ( | uint32_t | memoryStart, |
uint32_t | memoryEnd, | ||
uint16_t * | res | ||
) |
Returns the conversion results of the specified ADC memory locations. Note that it is up to the user to verify the integrity of and proper size of the array being passed. If there are 16 multi-sequence results, and an array with only 4 elements allocated is passed, invalid memory settings will occur. This function is inclusive.
memoryStart | is the memory location to get the conversion result. Valid values are:
|
memoryEnd | is the memory location to get the conversion result. Valid values are:
|
res | conversion result of the last multi-sequence sample in an array of unsigned 16-bit integers |
References ADC_INVALID_MEM, and ASSERT.
bool ADC14_enableReferenceBurst | ( | void | ) |
Enables the "on-demand" activity of the voltage reference register. If this setting is enabled, the internal voltage reference buffer will only be updated during a sample or conversion cycle. This is used to optimize power consumption.
bool ADC14_disableReferenceBurst | ( | void | ) |
Disables the "on-demand" activity of the voltage reference register.
bool ADC14_setPowerMode | ( | uint32_t | powerMode | ) |
Sets the power mode of the ADC module. A more aggressive power mode will restrict the number of samples per second for sampling while optimizing power consumption. Ideally, if power consumption is a concern, this value should be set to the most restrictive setting that satisfies your sampling requirement.
adcPowerMode | is the power mode to set. Valid values are:
|
References ADC_ULTRA_LOW_POWER_MODE, ADC_UNRESTRICTED_POWER_MODE, and ASSERT.
bool ADC14_enableSampleTimer | ( | uint32_t | multiSampleConvert | ) |
Enables SAMPCON to be sourced from the sampling timer and to configures multi sample and conversion mode.
multiSampleConvert | - Switches between manual and automatic iteration when using the sample timer. Valid values are:
|
References ADC_MANUAL_ITERATION.
bool ADC14_disableSampleTimer | ( | void | ) |
Disables SAMPCON from being sourced from the sample timer.
void ADC14_enableInterrupt | ( | uint_fast64_t | mask | ) |
Enables the indicated ADCC interrupt sources. The ADC_INT0 through ADC_INT31 parameters correspond to a completion event of the corresponding memory location. For example, when the ADC_MEM0 location finishes a conversion cycle, the ADC_INT0 interrupt will be set.
mask | is the bit mask of interrupts to enable. Valid values are a bitwise OR of the following values:
|
void ADC14_disableInterrupt | ( | uint_fast64_t | mask | ) |
Disables the indicated ADCC interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor. The ADC_INT0 through ADC_INT31 parameters correspond to a completion event of the corresponding memory location. For example, when the ADC_MEM0 location finishes a conversion cycle, the ADC_INT0 interrupt will be set.
mask | is the bit mask of interrupts to disable. Valid values are a bitwise OR of the following values:
|
uint_fast64_t ADC14_getInterruptStatus | ( | void | ) |
Returns the status of a the ADC interrupt register. The ADC_INT0 through ADC_INT31 parameters correspond to a completion event of the corresponding memory location. For example, when the ADC_MEM0 location finishes a conversion cycle, the ADC_INT0 interrupt will be set.
Referenced by ADC14_getEnabledInterruptStatus().
uint_fast64_t ADC14_getEnabledInterruptStatus | ( | void | ) |
Returns the status of a the ADC interrupt register masked with the enabled interrupts. This function is useful to call in ISRs to get a list of pending interrupts that are actually enabled and could have caused the ISR. The ADC_INT0 through ADC_INT31 parameters correspond to a completion event of the corresponding memory location. For example, when the ADC_MEM0 location finishes a conversion cycle, the ADC_INT0
References ADC14_getInterruptStatus().
void ADC14_clearInterruptFlag | ( | uint_fast64_t | mask | ) |
Clears the indicated ADCC interrupt sources.
mask | is the bit mask of interrupts to clear. The ADC_INT0 through ADC_INT31 parameters correspond to a completion event of the corresponding memory location. For example, when the ADC_MEM0 location finishes a conversion cycle, the ADC_INT0 interrupt will be set. Valid values are a bitwise OR of the following values:
|
void ADC14_registerInterrupt | ( | void(*)(void) | intHandler | ) |
Registers an interrupt handler for the ADC interrupt.
intHandler | is a pointer to the function to be called when the ADC interrupt occurs. |
This function registers the handler to be called when an ADC interrupt occurs. This function enables the global interrupt in the interrupt controller; specific ADC14 interrupts must be enabled via ADC14_enableInterrupt(). It is the interrupt handler's responsibility to clear the interrupt source via ADC14_clearInterruptFlag().
References INT_ADC14, Interrupt_enableInterrupt(), and Interrupt_registerInterrupt().
void ADC14_unregisterInterrupt | ( | void | ) |
Unregisters the interrupt handler for the ADCC module.
This function unregisters the handler to be called when an ADCC interrupt occurs. This function also masks off the interrupt in the interrupt controller so that the interrupt handler no longer is called.
References INT_ADC14, Interrupt_disableInterrupt(), and Interrupt_unregisterInterrupt().