CC2530 的ADC 中断
大家好~~我想用一下CC2530的AD采样转换,对单通道的重复转换,然后希望转换结束就产生中断(单次结束),这个怎么对寄存器配置呢~~我看了下手册没有ADC的中断使能啊~~谢谢大家啦~~
贴一下我的代码吧~~
有大神相告不?
void SensorADCInit( void )
{
P0SEL |= 0x01;
P0DIR &= 0xFE;
APCFG |= 0x01;//通道0模拟输入
ADCIF = 0; //清楚中断标志,得试试是否是硬件清楚(好像是)
//ADCCON1 = 0x03 | HAL_ADC_RAND_STOP | HAL_ADC_STSEL_ST;//选择的是ST=1时开始ADC
//ADCCON2 控制多位AD采集
}
void SensorADCBegin(void)
{
ADCCON3 = HAL_ADC_CHN_AIN0 | HAL_ADC_DEC_512 |HAL_ADC_REF_125V;//通道0,采样率512,
}
#pragma vector = ADC_VECTOR
__interrupt void P0_ISR(void)
{
SensorAD[i++] = ADCL;
SensorAD[i++] = ADCH; //低位在前
SensorValue |= ADCL;
SensorValue |= ADCH<<8;
SensorValue >>= 4;
fSensorValue =(float)(SensorValue/(float)2048)*3.3;//有疑问,还没有测试,按理应该是4096
if(i<80)
{
//ADCCON1 |= HAL_ADC_START;//继续
}
else
{
i = 0;
}
ADCIF = 0;
}
void main(void)
{
//char i;
//char TempValue[10];
//InitUART0(); //初始化串口
//initTempSensor(); //初始化ADC
SensorADCInit();
SensorADCBegin();
while(1);
}
哎~~没有高手来回答啊~~看来是不屑啊~~新手刚刚试了好久~~总算是出来了~~
在中断的初始化中再加两句,开AD的中断使能ADCIE=1,和所有中断使能EA=1
搞了半天总算出来了~~真的~~这个CC2530的ADC在网上就找不到中断的例程~~