//******************************************************************************
// AD12 多路 初始化。。
//******************************************************************************
//AD12 初始化
void Ad_Init()
{
P6DIR = 0XFF;P6OUT = 0XFF;
LcdReset();
P6SEL |=BIT1+BIT0+BIT2; // 3个通道分别显示 X,Y,Z
ADC12CTL0=ADC12ON+MSC+SHT0_2; // 打开ADC,设置采样时间
ADC12CTL1 = SHP+CONSEQ_1; // 使用采样定时器
ADC12MCTL0 =INCH_0;
ADC12MCTL1 =INCH_1;
ADC12MCTL2 =INCH_2;
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
}
//AD12 的计算
void Ad_Calculate()
{
unsigned long int x=0,y=0,z=0;
unsigned int i=0;
while(i<4096)
{
while(!(BIT0&ADC12IFG));
x += ADC12MEM0; // Read out 1st ADC value
while(!(BIT1&ADC12IFG));
y += ADC12MEM1; // Read out 1st ADC value
while(!(BIT2&ADC12IFG));
z += ADC12MEM2; // Read out 1st ADC value
i++;
}
x_value=x>>12;
y_value=y>>12;
z_value=z>>12;
}
为什么 通道 1,2的数据是错误的 在线坐等大神解决 |