MSP430AEF253的SD24位采样数据位数问题,高16位和低16位是有重叠的部分吗?
1.如果按照手册里面写的是24位,可为什么手册里面又写15-30位的范围呢?
如上图那第一次采集的高16位是13到28,低位是0-15,那难道13-15位是重叠的吗?如果重叠那位数不变成了29位,请解答!
2.如果默认值采集高16位,输入端电压29mv,采集到的值乱七八糟,一直跳动,也不知道如何计算,是按16位计算,还是24位呢,2种我都试了结果也不是29mv.满量程600mv算的。
3.void main(void)
{
volatile unsigned int i; // Use volatile to prevent removal
// by compiler optimization
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
_EINT();//开总中断
SD24CTL = SD24REFON + SD24SSEL0; // 1.2V ref, SMCLK
SD24CCTL1 |= SD24IE ; // Enable interrupt
for (i = 0; i < 0x3600; i++); // Delay for 1.2V ref startup
SD24CCTL1 |= SD24SC; // Set bit to start conversion
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0 w/ interrupts
}
#pragma vector=SD24_VECTOR
__interrupt void SD24AISR(void)
{
static unsigned int index = 0;
unsigned char i;
long sum=0;
switch (SD24IV)
{
case 2: // SD24MEM Overflow
break;
case 4: // SD24MEM0 IFG
break;
case 6: // SD24MEM1 IFG
results[index++] = SD24MEM1; // Save CH2 results (clears IFG)
if (index == Num_of_Results)
{
for(i=0;i<10;i++)sum+=results;
Ch0Adc=(sum/10);
index = 0;
sum=0; // SET BREAKPOINT HERE
}
break;
case 8: // SD24MEM2 IFG
break;
}
}
按例程里的修改成了采样A1.1,测量应该是29mv,可是采样的结果也是看不懂,34303*0.6/65536=0.314????按16位算怎么这个结果
|