|
msp430的ADC进行5路重复采集,只有后3路工作,为什么?
[复制链接]
msp430的ADC进行5路重复采集,只有后3路工作,为什么?我用的是A0-A4,A0和A1口不能正常工作,后面三路没问题???
void addtchfuinit(void) //ad多通道重复采集
{
P6SEL=0X1f; //打开A0—A4 A/D通道输入
ADC12CTL0=ADC12ON+MSC+SHT0_8;//开ADC12模块+重复采样+256采样时间采样信号由SHI仅首次触发
ADC12CTL1=SHP+CONSEQ_3;//重复序列采样模式
ADC12MCTL0=INCH_0; //参考电压ref+=Avcc,输入通道选择A0
ADC12MCTL1=INCH_1; //参考电压ref+=Avcc,输入通道选择A1
ADC12MCTL2=INCH_2;
ADC12MCTL3=INCH_3;//由此通道产生序列结束控制位因为A3是序列的最后一位,所以加个EOS。EOS什么作用不知道
ADC12MCTL4=INCH_4+EOS;
ADC12IE=0X10;//A4通道开中断adc12ifg3
ADC12CTL0 |=ENC;//允许转换
ADC12CTL0 |=ADC12SC;//启动转换
}
#pragma vector=ADC_VECTOR //adc中断服务程序
__interrupt void ADC12ISR(void)
{
//static unsigned int index=0;//中断服务程序中的静态变量
Aresult[0]=ADC12MEM0;//移动A0结果往数组,此操作的同时清除ADC12FIG0
Aresult[1]=ADC12MEM1;//移动A1结果往数组,此操作的同时清除ADC12FIG1
Aresult[2]=ADC12MEM2;
Aresult[3]=ADC12MEM3;
Aresult[4]=ADC12MEM4;
// index=(index+1)%num_of_results; //增加结果的索引,取index变量的模(余数)
}
|
|