求问下面这段程序有什么问题吗?
#include"msp430g2553.h"
unsigned char c[32];
unsigned int e=0;
void main(void) {
P1DIR|=BIT0+BIT6;
P1OUT=BIT0+BIT6+BIT1;
P1SEL|=0x01;//使能ADC通道A0
ADC10CTL0|=REFON+REF2_5V+ADC10IE+SREF_1;
ADC10CTL1|=INCH_0+CONSEQ_2;//最大采样通道为A0,采用序列单通道连续采样的模式
ADC10CTL0|=ADC10SSEL_1;
ADC10DTC1|=0X20;//每一个通道连续采样32次
_EINT();
ADC10CTL0|=ENC;//开始采样
while(1)
{
ADC10CTL0&=~ENC;//关闭采样使能
while(ADC10CTL1&ADC10BUSY);//判断是否有采样或转换动作
ADC10CTL0|=ENC;//开始采样
}
}
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
unsigned int b,d=0;
P1OUT^=BIT0+BIT6;
c[e]=ADC10MEM;
e++;
if(e==32)
{
for(b=0;b<=31;b++)
{
d=d+c[b];
}
}
b=b/32;
P1OUT=b;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>