ADC通道( channel)与引脚是一一对应的关系,即每个ADC通道都有固定的与之对应的引脚。
有内部通道和外部通道之分。
模拟传感器:
value = ADCL >> 2 ; //将采集到低6位赋值到7~2中(5-0),ADCH(13-6)
value |= ((uint16) ADCH) << 6 ; //得到整个寄存器的值,最高位是符号位
value <<= 1; //湮没符号位
value >>= 3; //将所得数值送到低八位,准备转
//CC253x采集电池电压(内部通道VDD/3):
#if defined (HAL_MCU_CC2430) || defined (HAL_MCU_CC2530)
uint16 value;
/* Clear ADC interrupt flag */
ADCIF = 0;
ADCCON3 = (HAL_ADC_REF_125V | HAL_ADC_DEC_128 | HAL_ADC_CHN_VDD3);
/* Wait for the conversion to finish */
while ( !ADCIF );
/* Get the result */
value = ADCL;
value |= ((uint16) ADCH) << 8;
/*
* value now contains measurement of Vdd/3
* 0 indicates 0V and 32767 indicates 1.25V
* voltage = (value*3*1.25)/32767 volts
* we will multiply by this by 10 to allow units of 0.1 volts
*/
value = value >> 6; // divide first by 2