在学习ADC时,附件资料:《CC2530应用手册》。
//ADC初始化
static void Adc_Init(void)
{
ADCH &= 0X00;
APCFG = 1; //模拟I/O使能
P0SEL |= 0X01; //P0_0使用外设功能
P0DIR &= ~0X01; //P0_0输入方向
ADCIF = 0; //ADC中断标志位清0
ADCCON3 = 0X90; //AVDD5引脚3.3V作为AD参考电压;AD值12位有效,选择AIN0作为单个通道AD转换
ADCCON1 = 0X30; //停止AD转换
ADCCON1 |= 0X40; //开始AD转换
}
static void Get_Temperature(void)
{
unsigned int temperature_value;
float tempe_value;
Adc_Init();
while(!ADCIF); //ADC中断完成
temperature_value = ADCL;
temperature_value |= (uint16)ADCH << 8;
temperature_value >>= 4 ;
tempe_value = (float)temperature_value *3.3 / 2048;
// vspfunc("%05.2f",tempe_value);
sprintf(temp,"%05.2f",tempe_value);
HalUARTWrite(0,temp,sizeof(temp));
}
Adc_Init()函数初始化就放在GenerialApp_Init()用户任务初始化函数中即可。