- * [url=home.php?mod=space&uid=247401]@brief[/url] This API configures ADC module to be ready for convert the input from selected channel
- * @param[in] adc Base address of ADC module
- * @param[in] u32InputMode Decides the ADC analog input mode. Valid values are:
- * - \ref ADC_ADCR_DIFFEN_SINGLE_END :Single end input mode
- * - \ref ADC_ADCR_DIFFEN_DIFFERENTIAL :Differential input type
- * @param[in] u32OpMode Decides the ADC operation mode. Valid values are:
- * - \ref ADC_ADCR_ADMD_SINGLE :Single mode.
- * - \ref ADC_ADCR_ADMD_BURST :Burst mode.
- * - \ref ADC_ADCR_ADMD_SINGLE_CYCLE :Single cycle scan mode.
- * - \ref ADC_ADCR_ADMD_CONTINUOUS :Continuous scan mode.
- * @param[in] u32ChMask Channel enable bit. Each bit corresponds to a input channel. Bit 0 is channel 0, bit 1 is channel 1..., bit 7 is channel 7.
- * [url=home.php?mod=space&uid=266161]@return[/url] None
- * [url=home.php?mod=space&uid=536309]@NOTE[/url] M051 series MCU ADC can only convert 1 channel at a time. If more than 1 channels are enabled, only channel
- * with smallest number will be convert.
- * @note This API does not turn on ADC power nor does trigger ADC conversion
- */
- void ADC_Open(ADC_T *adc,
- uint32_t u32InputMode,
- uint32_t u32OpMode,
- uint32_t u32ChMask)
- {
- ADC->ADCR = (ADC->ADCR & (~(ADC_ADCR_DIFFEN_Msk | ADC_ADCR_ADMD_Msk))) | \
- u32InputMode | \
- u32OpMode;
- ADC->ADCHER = (ADC->ADCHER & ~ADC_ADCHER_CHEN_Msk) | (u32ChMask);
- return;
- }
|