void ADCchushihua(void)
{
P6SEL |= 0x01;
REFCTL0 &=~REFMSTR;
ADC12CTL0 = ADC12ON + ADC12SHT0_2 + ADC12MSC+ADC12REF2_5V + ADC12REFON;
ADC12CTL1 = ADC12SHP + ADC12CONSEQ_2;
ADC12MCTL0 = ADC12SREF_1;
ADC12IE = 0X01;
ADC12CTL0 |= ADC12ENC;
ADC12CTL0 |= ADC12SC;
}
#pragma vector= ADC12_VECTOR
__interrupt void ADC12ISR(void)
{
sta
tic unsigned char index = 0;
switch(__even_in_range(ADC12IV,34))
{
case 0:break;
case 2:break;
case 4:break;
case 6:
results[index] = ADC12MEM0;
index++;
if(index==128)
{index=0;}
}
}
void fuzhi()
{
fzmax=results[0];
fzmin=results[0];
for(a=1;a<128;a++)
{
if(fzmax<results[a]){fzmax=results[a];}
if(fzmin>results[a]){fzmin=results[a];}
}
fz=((fzmax-fzmin)*5000)/4095;
}
这样测出来的幅值有问题啊。,。
请教各位错在哪了。,。
再次谢谢各位了。
一周热门 更多>