📄 adc12.h
字号:
#define num 32
unsigned long int K0,K1,K2,K3,WetO,WetI,LightO,LightI;
static uint A0results[num];
static uint A1results[num];
static uint A2results[num];
static uint A3results[num];
void start()
{
WDTCTL=WDTPW+WDTHOLD;
P6SEL = 0x0f;
ADC12CTL0=ADC12ON+SHT0_8+MSC;
ADC12CTL1=SHP+CONSEQ_3;
ADC12MCTL0=INCH_0;
ADC12MCTL1=INCH_1;
ADC12MCTL2=INCH_2;
ADC12MCTL3=INCH_3+EOS;
ADC12IE =0x08;
ADC12CTL0 |= ENC;
_EINT();
while(1)
{
ADC12CTL0 |=ADC12SC;
}
}
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR(void)
{
static uchar indx=0;
A0results[indx++]=ADC12MEM0;
A1results[indx]=ADC12MEM1;
A2results[indx]=ADC12MEM2;
A3results[indx]=ADC12MEM3;
if(indx==num)
{
uchar i;
unsigned long A0sum=0,A1sum=0,A2sum=0,A3sum=0;
indx=0;
for(i=0;i<num;i++)
{
A0sum+=A0results[i];
A1sum+=A1results[i];
A2sum+=A2results[i];
A3sum+=A3results[i];
}
A0sum>>=5;
A1sum>>=5;
A2sum>>=5;
A3sum>>=5;
K0=(int)A0sum;
K1=(int)A1sum;
K2=(int)A2sum;
K3=(int)A3sum;
WetI=K0*100/4095;
WetO=K1*100/4095;
LightI=K2*64/4095;
LightO=K3*64/4095;
}
}
void close()
{
ADC12CTL0 &=~ADC12SC;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -