AD转换采样值不在固定的端口输出
时间:10-02
整理:3721RD
点击:
我写的AD转换程序,其中一部分是ADC10SA=(unsigned int)&AdcData[0];
=AdcData[0]; =AdcData[1];
=AdcData[2];
但是 采样的过程中A1,A0,COMP的值是轮流来的,就是我给其中一个端口一个电压,那就应该A1一直为采样值,但是执行的时候,这个值一会在A1中,一会在A0中,一会在COMP中,这是哪里出了问题
完整的程序
ADC10CTL0 &= ~ENC;//停止转换,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
ADC10CTL0 =ADC10SHT_2+SREF_0+ADC10ON+MSC;//ADC10IE+模拟采集设置+ADC10IE
ADC10CTL1=INCH_2+ADC10SSEL_2+CONSEQ_3+SHS_0;//采集通道设置 repeat multi channels
ADC10AE = 0X07;//模拟输入使能
while(ADC10CTL1&BUSY);
ADC10DTC1=0x03;
ADC10DTC0|=ADC10CT;
ADC10SA=(unsigned int)&AdcData[0];//ADC块的开始地址
ADC10CTL0|=ENC+ADC10SC;//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
while(1)
{
COMP=AdcData[0];
A0=AdcData[1];
A1=AdcData[2];
P1OUT^=0x01;
}
=AdcData[0]; =AdcData[1];
=AdcData[2];
但是 采样的过程中A1,A0,COMP的值是轮流来的,就是我给其中一个端口一个电压,那就应该A1一直为采样值,但是执行的时候,这个值一会在A1中,一会在A0中,一会在COMP中,这是哪里出了问题
完整的程序
ADC10CTL0 &= ~ENC;//停止转换,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
ADC10CTL0 =ADC10SHT_2+SREF_0+ADC10ON+MSC;//ADC10IE+模拟采集设置+ADC10IE
ADC10CTL1=INCH_2+ADC10SSEL_2+CONSEQ_3+SHS_0;//采集通道设置 repeat multi channels
ADC10AE = 0X07;//模拟输入使能
while(ADC10CTL1&BUSY);
ADC10DTC1=0x03;
ADC10DTC0|=ADC10CT;
ADC10SA=(unsigned int)&AdcData[0];//ADC块的开始地址
ADC10CTL0|=ENC+ADC10SC;//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
while(1)
{
COMP=AdcData[0];
A0=AdcData[1];
A1=AdcData[2];
P1OUT^=0x01;
}
用的芯片是哪个?
多通道的AD一般都可以设置输出通道,仔细看下数据手册吧