我是新手,刚刚接触ADC模块,下面这段程序能不能实现采样啊?有什么问题或者可以简化的,求大神指点一下,采样的数据暂时还没读取,现在只是想先实现初步采样的功能.
#include"msp430g2553.h"
void main(void) {
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT0+BIT6;
P1OUT=BIT0+BIT6;
P1SEL=BIT1+BIT3+BIT4;
ADC10CTL0|=ADC10SHT_2+REFON+REF2_5V+ADC10IE+ADC10IFG;
ADC10AE0|=0X1a;//使能通道P1^1,3,4;
ADC10CTL1|=INCH_4+CONSEQ_3;//最大采样通道为P1^4,采用序列多次采样的模式
ADC10DTC1|=0X20;//每一个通道连续采样32次
ADC10AE0|=BIT3+BIT4+BIT5+BIT7; // 使P1.0允许AD模拟输入信号
_EINT();
while(1)
{
P1OUT=BIT0+BIT6;
ADC10CTL0&=~ENC;//关闭采样使能
while(ADC10CTL1&ADC10BUSY);//判断是否有采样或转换动作
ADC10CTL0|=ADC10SC+ENC;//开始采样
}
}
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
P1OUT&=~(BIT0+BIT6);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>