|
|
|
@ -36,8 +36,15 @@
|
|
|
|
|
* currently selected AVR model.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** \ingroup Group_SubsystemDrivers
|
|
|
|
|
/** \ingroup Group_PeripheralDrivers
|
|
|
|
|
* @defgroup Group_ADC ADC Driver - LUFA/Drivers/Peripheral/ADC.h
|
|
|
|
|
*
|
|
|
|
|
* \section Sec_Dependencies Module Source Dependencies
|
|
|
|
|
* The following files must be built with any user project that uses this module:
|
|
|
|
|
* - None
|
|
|
|
|
*
|
|
|
|
|
* \section Module Description
|
|
|
|
|
* Functions, macros, variables, enums and types related to the setup of a the ADC subsystem.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef __ADC_H__
|
|
|
|
@ -58,30 +65,5 @@
|
|
|
|
|
#else
|
|
|
|
|
#error "ADC is not available for the currently selected AVR model."
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Public Interface - May be used in end-application: */
|
|
|
|
|
/* Inline Functions: */
|
|
|
|
|
/** Starts the reading of the given channel, but does not wait until the conversion has completed.
|
|
|
|
|
* Once executed, the conversion status can be determined via the ADC_IsReadingComplete() macro and
|
|
|
|
|
* the result read via the ADC_GetResult() macro.
|
|
|
|
|
*
|
|
|
|
|
* \param MUXMask Mask comprising of an ADC channel number, reference mask and adjustment mask
|
|
|
|
|
*/
|
|
|
|
|
static inline void ADC_StartReading(const uint8_t MUXMask);
|
|
|
|
|
|
|
|
|
|
/** Performs a complete single reading from channel, including a polling spinloop to wait for the
|
|
|
|
|
* conversion to complete, and the returning of the converted value.
|
|
|
|
|
*
|
|
|
|
|
* \param MUXMask Mask comprising of an ADC channel number, reference mask and adjustment mask
|
|
|
|
|
*/
|
|
|
|
|
static inline uint16_t ADC_GetChannelReading(const uint8_t MUXMask) ATTR_WARN_UNUSED_RESULT;
|
|
|
|
|
|
|
|
|
|
/** Configures the given ADC channel, ready for ADC conversions. This function sets the
|
|
|
|
|
* associated port pin as an input and disables the digital portion of the I/O to reduce
|
|
|
|
|
* power consumption.
|
|
|
|
|
*
|
|
|
|
|
* \param Channel ADC channel number to set up for conversions
|
|
|
|
|
*/
|
|
|
|
|
static inline void ADC_SetupChannel(const uint8_t Channel);
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|