微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADC122S706

ADC122S706

时间:10-02 整理:3721RD 点击:

我在使用这个得时候,程序时序程序大概就是这样,怎么出来的数据相当于11位adc的采样结果最大值是2047

程序:

#define lowall P1OUT&=((~BIT1)&(~BIT0));
#define highall P1OUT=~P1OUT;
#define LOW P1OUT&=~BIT1;
#define HIGH P1OUT|= BIT1;
void AD_RX()
{
unsigned char i=0;
temp1=0;temp2=0;
lowall;
for(i=0;i<16;i++)
{
LOW;
if((P1IN&BIT2)==0)
temp1<<=1;
else
{
temp1<<=1;
temp1=temp1+1;
}
if((P1IN&BIT3)==0)
temp2<<=1;
else
{
temp2<<=1;
temp2=temp2+1;
}
HIGH;
}
highall;
HIGH;
}

从数据手册看, 串行数据的输出是在上升沿后的。而你的程序是在下降沿后读取,所以就会少了一位。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top