Functions | |
void | ADC_init (uint16_t baseAddress, uint16_t sampleHoldSignalSourceSelect, uint8_t clockSourceSelect, uint16_t clockSourceDivider) |
Initializes the ADC Module. More... | |
void | ADC_enable (uint16_t baseAddress) |
Enables the ADC block. More... | |
void | ADC_disable (uint16_t baseAddress) |
Disables the ADC block. More... | |
void | ADC_setupSamplingTimer (uint16_t baseAddress, uint16_t clockCycleHoldCount, uint16_t multipleSamplesEnabled) |
Sets up and enables the Sampling Timer Pulse Mode. More... | |
void | ADC_disableSamplingTimer (uint16_t baseAddress) |
Disables Sampling Timer Pulse Mode. More... | |
void | ADC_configureMemory (uint16_t baseAddress, uint8_t inputSourceSelect, uint8_t positiveRefVoltageSourceSelect, uint8_t negativeRefVoltageSourceSelect) |
Configures the controls of the selected memory buffer. More... | |
void | ADC_enableInterrupt (uint16_t baseAddress, uint8_t interruptMask) |
Enables selected ADC interrupt sources. More... | |
void | ADC_disableInterrupt (uint16_t baseAddress, uint8_t interruptMask) |
Disables selected ADC interrupt sources. More... | |
void | ADC_clearInterrupt (uint16_t baseAddress, uint8_t interruptFlagMask) |
Clears ADC10B selected interrupt flags. More... | |
uint8_t | ADC_getInterruptStatus (uint16_t baseAddress, uint8_t interruptFlagMask) |
Returns the status of the selected memory interrupt flags. More... | |
void | ADC_startConversion (uint16_t baseAddress, uint8_t conversionSequenceModeSelect) |
Enables/Starts an Analog-to-Digital Conversion. More... | |
void | ADC_disableConversions (uint16_t baseAddress, bool preempt) |
Disables the ADC from converting any more signals. More... | |
int16_t | ADC_getResults (uint16_t baseAddress) |
Returns the raw contents of the specified memory buffer. More... | |
void | ADC_setResolution (uint16_t baseAddress, uint8_t resolutionSelect) |
Use to change the resolution of the converted data. More... | |
void | ADC_setSampleHoldSignalInversion (uint16_t baseAddress, uint16_t invertedSignal) |
Use to invert or un-invert the sample/hold signal. More... | |
void | ADC_setDataReadBackFormat (uint16_t baseAddress, uint16_t readBackFormat) |
Use to set the read-back format of the converted data. More... | |
void | ADC_setReferenceBufferSamplingRate (uint16_t baseAddress, uint16_t samplingRateSelect) |
Use to set the reference buffer's sampling rate. More... | |
void | ADC_setWindowComp (uint16_t baseAddress, uint16_t highThreshold, uint16_t lowThreshold) |
Sets the high and low threshold for the window comparator feature. More... | |
uint32_t | ADC_getMemoryAddressForDMA (uint16_t baseAddress) |
Returns the address of the memory buffer for the DMA module. More... | |
uint8_t | ADC_isBusy (uint16_t baseAddress) |
Returns the busy status of the ADC core. More... | |
void ADC_clearInterrupt | ( | uint16_t | baseAddress, |
uint8_t | interruptFlagMask | ||
) |
Clears ADC10B selected interrupt flags.
The selected ADC interrupt flags are cleared, so that it no longer asserts. The memory buffer interrupt flags are only cleared when the memory buffer is accessed.
baseAddress | is the base address of the ADC module. |
interruptFlagMask | is a bit mask of the interrupt flags to be cleared. Mask value is the logical OR of any of the following:
|
Modified bits of ADCIFG register.
void ADC_configureMemory | ( | uint16_t | baseAddress, |
uint8_t | inputSourceSelect, | ||
uint8_t | positiveRefVoltageSourceSelect, | ||
uint8_t | negativeRefVoltageSourceSelect | ||
) |
Configures the controls of the selected memory buffer.
Maps an input signal conversion into the memory buffer, as well as the positive and negative reference voltages for each conversion being stored into the memory buffer. If the internal reference is used for the positive reference voltage, the internal REF module has to control the voltage level. Note that if a conversion has been started with the startConversion() function, then a call to disableConversions() is required before this function may be called.
baseAddress | is the base address of the ADC module. |
inputSourceSelect | is the input that will store the converted data into the specified memory buffer. Valid values are:
|
positiveRefVoltageSourceSelect | is the reference voltage source to set as the upper limit for the conversion that is to be stored in the specified memory buffer. Valid values are:
|
negativeRefVoltageSourceSelect | is the reference voltage source to set as the lower limit for the conversion that is to be stored in the specified memory buffer. Valid values are:
|
void ADC_disable | ( | uint16_t | baseAddress | ) |
Disables the ADC block.
This will disable operation of the ADC block.
baseAddress | is the base address of the ADC module. |
Modified bits are ADCON of ADCCTL0 register.
void ADC_disableConversions | ( | uint16_t | baseAddress, |
bool | preempt | ||
) |
Disables the ADC from converting any more signals.
Disables the ADC from converting any more signals. If there is a conversion in progress, this function can stop it immediatly if the preempt parameter is set as ADC_PREEMPTCONVERSION, by changing the conversion mode to single- channel, single-conversion and disabling conversions. If the conversion mode is set as single-channel, single-conversion and this function is called without preemption, then the ADC core conversion status is polled until the conversion is complete before disabling conversions to prevent unpredictable data. If the ADC_startConversion() has been called, then this function has to be called to re-initialize the ADC, reconfigure a memory buffer control, enable/disable the sampling pulse mode, or change the internal reference voltage.
baseAddress | is the base address of the ADC module. |
preempt | specifies if the current conversion should be preemptly stopped before the end of the conversion Valid values are:
|
Modified bits of ADCCTL0 register and bits of ADCCTL1 register.
void ADC_disableInterrupt | ( | uint16_t | baseAddress, |
uint8_t | interruptMask | ||
) |
Disables selected ADC interrupt sources.
Disables the indicated ADC interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.
baseAddress | is the base address of the ADC module. |
interruptMask | is the bit mask of the memory buffer interrupt sources to be disabled. Mask value is the logical OR of any of the following:
|
Modified bits of ADCIE register.
void ADC_disableSamplingTimer | ( | uint16_t | baseAddress | ) |
Disables Sampling Timer Pulse Mode.
Disables the Sampling Timer Pulse Mode. Note that if a conversion has been started with the startConversion() function, then a call to disableConversions() is required before this function may be called.
baseAddress | is the base address of the ADC module. |
Modified bits are ADCSHP of ADCCTL1 register.
void ADC_enable | ( | uint16_t | baseAddress | ) |
Enables the ADC block.
This will enable operation of the ADC block.
baseAddress | is the base address of the ADC module. |
Modified bits are ADCON of ADCCTL0 register.
void ADC_enableInterrupt | ( | uint16_t | baseAddress, |
uint8_t | interruptMask | ||
) |
Enables selected ADC interrupt sources.
Enables the indicated ADC interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor. Does not clear interrupt flags.
baseAddress | is the base address of the ADC module. |
interruptMask | is the bit mask of the memory buffer interrupt sources to be enabled. Mask value is the logical OR of any of the following:
|
Modified bits of ADCIE register.
uint8_t ADC_getInterruptStatus | ( | uint16_t | baseAddress, |
uint8_t | interruptFlagMask | ||
) |
Returns the status of the selected memory interrupt flags.
Returns the status of the selected interrupt flags.
baseAddress | is the base address of the ADC module. |
interruptFlagMask | is a bit mask of the interrupt flags status to be returned. Mask value is the logical OR of any of the following:
|
Modified bits of ADC10IFG register.
uint32_t ADC_getMemoryAddressForDMA | ( | uint16_t | baseAddress | ) |
Returns the address of the memory buffer for the DMA module.
baseAddress | is the base address of the ADC module. |
int16_t ADC_getResults | ( | uint16_t | baseAddress | ) |
Returns the raw contents of the specified memory buffer.
Returns the raw contents of the specified memory buffer. The format of the content depends on the read-back format of the data: if the data is in signed 2's complement format then the contents in the memory buffer will be left-justified with the least-siginificant bits as 0's, whereas if the data is in unsigned format then the contents in the memory buffer will be right- justified with the most-significant bits as 0's.
baseAddress | is the base address of the ADC module. |
void ADC_init | ( | uint16_t | baseAddress, |
uint16_t | sampleHoldSignalSourceSelect, | ||
uint8_t | clockSourceSelect, | ||
uint16_t | clockSourceDivider | ||
) |
Initializes the ADC Module.
This function initializes the ADC module to allow for analog-to-digital conversions. Specifically this function sets up the sample-and-hold signal and clock sources for the ADC core to use for conversions. Upon successful completion of the initialization all of the ADC control registers will be reset, excluding the memory controls and reference module bits, the given parameters will be set, and the ADC core will be turned on (Note, that the ADC core only draws power during conversions and remains off when not converting).Note that sample/hold signal sources are device dependent. Note that if re-initializing the ADC after starting a conversion with the startConversion() function, the disableConversion() must be called BEFORE this function can be called.
baseAddress | is the base address of the ADC module. |
sampleHoldSignalSourceSelect | is the signal that will trigger a sample-and-hold for an input signal to be converted. This parameter is device specific and sources should be found in the device's datasheet. Valid values are:
|
clockSourceSelect | selects the clock that will be used by the ADC core and the sampling timer if a sampling pulse mode is enabled. Valid values are:
|
clockSourceDivider | selects the amount that the clock will be divided. Valid values are:
|
uint8_t ADC_isBusy | ( | uint16_t | baseAddress | ) |
Returns the busy status of the ADC core.
Returns the status of the ADC core if there is a conversion currently taking place.
baseAddress | is the base address of the ADC module. |
void ADC_setDataReadBackFormat | ( | uint16_t | baseAddress, |
uint16_t | readBackFormat | ||
) |
Use to set the read-back format of the converted data.
Sets the format of the converted data: how it will be stored into the memory buffer, and how it should be read back. The format can be set as right-justified (default), which indicates that the number will be unsigned, or left-justified, which indicates that the number will be signed in 2's complement format. This change affects all memory buffers for subsequent conversions.
baseAddress | is the base address of the ADC module. |
readBackFormat | is the specified format to store the conversions in the memory buffer. Valid values are:
|
void ADC_setReferenceBufferSamplingRate | ( | uint16_t | baseAddress, |
uint16_t | samplingRateSelect | ||
) |
Use to set the reference buffer's sampling rate.
Sets the reference buffer's sampling rate to the selected sampling rate. The default sampling rate is maximum of 200-ksps, and can be reduced to a maximum of 50-ksps to conserve power.
baseAddress | is the base address of the ADC module. |
samplingRateSelect | is the specified maximum sampling rate. Valid values are:
|
Modified bits of ADCCTL2 register.
void ADC_setResolution | ( | uint16_t | baseAddress, |
uint8_t | resolutionSelect | ||
) |
Use to change the resolution of the converted data.
This function can be used to change the resolution of the converted data from the default of 12-bits.
baseAddress | is the base address of the ADC module. |
resolutionSelect | determines the resolution of the converted data. Valid values are:
|
void ADC_setSampleHoldSignalInversion | ( | uint16_t | baseAddress, |
uint16_t | invertedSignal | ||
) |
Use to invert or un-invert the sample/hold signal.
This function can be used to invert or un-invert the sample/hold signal. Note that if a conversion has been started with the startConversion() function, then a call to disableConversions() is required before this function may be called.
baseAddress | is the base address of the ADC module. |
invertedSignal | set if the sample/hold signal should be inverted Valid values are:
|
void ADC_setupSamplingTimer | ( | uint16_t | baseAddress, |
uint16_t | clockCycleHoldCount, | ||
uint16_t | multipleSamplesEnabled | ||
) |
Sets up and enables the Sampling Timer Pulse Mode.
This function sets up the sampling timer pulse mode which allows the sample/hold signal to trigger a sampling timer to sample-and-hold an input signal for a specified number of clock cycles without having to hold the sample/hold signal for the entire period of sampling. Note that if a conversion has been started with the startConversion() function, then a call to disableConversions() is required before this function may be called.
baseAddress | is the base address of the ADC module. |
clockCycleHoldCount | sets the amount of clock cycles to sample-and- hold for the memory buffer. Valid values are:
|
multipleSamplesEnabled | allows multiple conversions to start without a trigger signal from the sample/hold signal Valid values are:
|
void ADC_setWindowComp | ( | uint16_t | baseAddress, |
uint16_t | highThreshold, | ||
uint16_t | lowThreshold | ||
) |
Sets the high and low threshold for the window comparator feature.
Sets the high and low threshold for the window comparator feature. Use the ADCHIIE, ADCINIE, ADCLOIE interrupts to utilize this feature.
baseAddress | is the base address of the ADC module. |
highThreshold | is the upper bound that could trip an interrupt for the window comparator. |
lowThreshold | is the lower bound that could trip on interrupt for the window comparator. |
Modified bits of ADCLO register and bits of ADCHI register.
void ADC_startConversion | ( | uint16_t | baseAddress, |
uint8_t | conversionSequenceModeSelect | ||
) |
Enables/Starts an Analog-to-Digital Conversion.
This function enables/starts the conversion process of the ADC. If the sample/hold signal source chosen during initialization was ADCOSC, then the conversion is started immediately, otherwise the chosen sample/hold signal source starts the conversion by a rising edge of the signal. Keep in mind when selecting conversion modes, that for sequenced and/or repeated modes, to keep the sample/hold-and-convert process continuing without a trigger from the sample/hold signal source, the multiple samples must be enabled using the ADC_setupSamplingTimer() function. Also note that when a sequence conversion mode is selected, the first input channel is the one mapped to the memory buffer, the next input channel selected for conversion is one less than the input channel just converted (i.e. A1 comes after A2), until A0 is reached, and if in repeating mode, then the next input channel will again be the one mapped to the memory buffer. Note that after this function is called, the ADC_stopConversions() has to be called to re-initialize the ADC, reconfigure a memory buffer control, enable/disable the sampling timer, or to change the internal reference voltage.
baseAddress | is the base address of the ADC module. |
conversionSequenceModeSelect | determines the ADC operating mode. Valid values are:
|