正在设计用430内部的ADC采集5路电压值,大致思路是这样的:
1、430内部ADC多路同时采集5路电压
2、将ADC采集到的值处理为十进制数值
3、用液晶将十进制数值显示
现在不能理解多路采集ADC的中断函数中的这个语句:
index = (index+1)%Num_of_Results;
其中的宏定义为8。
中断函数是这样的:
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static unsigned int index = 0;
unsigned char i;
A0results[index] = ADC12MEM0; // Move A0 results, IFG is cleared
A1results[index] = ADC12MEM1; // Move A1 results, IFG is cleared
A2results[index] = ADC12MEM2; // Move A2 results, IFG is cleared
A3results[index] = ADC12MEM3; // Move A3 results, IFG is cleared
index = (index+1)%Num_of_Results; //Increment results index, modulo; Set Breakpoint here
}
请高手指点一下。
谢谢。 |