在线时间5 小时
UID2100160
注册时间2015-4-2
NXP金币0
该用户从未签到
新手上路

- 积分
- 33
- 最后登录
- 2015-4-24
|
请问一下为什么我的K60FX的ADC2和ADC3无法中断啊。用的是拉普兰德的库。
void main(void)
{
adc3_init();
while(1);
}
void adc3_init(void)
{
adc3_init_struct.ADC_Adcx = ADC3;
adc3_init_struct.ADC_DiffMode = ADC_SE; //单端采集
adc3_init_struct.ADC_BitMode = SE_12BIT; //单端12位精度
adc3_init_struct.ADC_SampleTimeCfg = SAMTIME_SHORT; //短采样时间
adc3_init_struct.ADC_HwAvgSel = HW_16AVG; //4次硬件平均
adc3_init_struct.ADC_CalEnable = TRUE; //使能初始化校验
adc3_init_struct.ADC_Isr = adc3_isr; //设置ADC中断函数
//初始化ADC0
LPLD_ADC_Init(adc3_init_struct);
LPLD_ADC_DisableIrq(adc3_init_struct);
//使能ADC0的DAD1输入引脚复用功能
LPLD_ADC_Chn_Enable(ADC3, DAD0);
//使能ADC0的DAD1输入通道及其转换完成中断
LPLD_ADC_EnableConversion(ADC3, DAD0, 0, TRUE);
//使能ADC0中断
LPLD_ADC_EnableIrq(adc3_init_struct);
//NVIC_SetPriority(ADC3_IRQn , 6);
}
void adc3_isr(){
int32 output3;
int32 sum3;
//获取采样结果
result3[j++] = LPLD_ADC_GetResult(ADC3,0);
if(j==40){
for(j=0;j<40;j++)
sum3=sum3+result3[j];
output3=sum3/40;
finally3=output3*3280/4096;
finally3=finally3 -350;
i=0;
sum=0;
}
LPLD_ADC_EnableConversion(ADC3, DAD0, 0, TRUE);
}
|
|