在线时间2220 小时
UID3253523
注册时间2016-3-21
NXP金币2865
该用户从未签到
超级版主
 
- 积分
- 24875
- 最后登录
- 2025-7-18
|
发表于 2017-7-10 10:08:02
|
显示全部楼层
请参考此ADC函数:
- /*****************************************************************************//*!
- +FUNCTION----------------------------------------------------------------
- * @function name: ADC_Init
- *
- * @brief initialize ADC as 12 bit mode, software trigger, without FIFO
- *
- * @param AdcNumber pointer to the ADC module
- channel ADC channel
- CompareValue 0 disable compare function, others compare value
- GreaterOrLess 0 less than compare value, 1 greater or equal to compare value
- *
- * @return none
- *
- * @ Pass/ Fail criteria: none
- *****************************************************************************/
- void ADC_Init(ADC_MemMapPtr AdcNumber, unsigned char channel, unsigned char GreaterOrLess, unsigned int CompareValue)
- {
- if(ADC_BASE_PTR == AdcNumber)
- {
- SIM_SCGC |= SIM_SCGC_ADC_MASK;
-
- if(CompareValue != 0x0)
- {
- if(GreaterOrLess > 0)
- GreaterOrLess = ADC_COMPARE_GREATER;
- else
- GreaterOrLess = ADC_COMPARE_LESS;
- ADC_SC2_REG(AdcNumber) = ADC_SC2_ACFE_MASK |
- GreaterOrLess;
- ADC_CV_REG(AdcNumber) = CompareValue;
- }
- ADC_SC3_REG(AdcNumber) = ADC_SC3_ADLPC_MASK |
- ADC_SC3_ADLSMP_MASK |
- ADC_SC3_MODE(ADC_MODE_12BIT) |
- ADC_SC3_ADICLK(CLOCK_SOURCE_BUS_CLOCK_DIVIDE_2);
- if(ADC_CHANNEL_AD23_BANDGAP == channel)
- {
- PMC_SPMSC1 |= PMC_SPMSC1_BGBE_MASK; /* enable the Bandgap buffer */
- }
- ADC_APCTL1_REG(AdcNumber) = 1 << channel;
- //ADC_SC1_REG(AdcNumber) = channel;
- }
- else
- {
- // other ADC module
- }
- }
复制代码 |
|