我用MAX1241做采集,CPU是ATMEGA16A,AD数据一直读不到数据,为0,什么问题啊?
//**************************************************************
//数据采集
//max1241
//**************************************************************
void sampling_analog(void) //数据采集
{
unsigned char i;
//unsigned int ray;
//ray=(unsigned int)(read_adc(0)/1023.0*999);
// ray1=ray;
//ray2=read_adc(0);
ray=0;
ad_shdown_h;
delay(10);
ad_sck_l;
PORTA&=~BIT(0); //dout LOw
ad_cs_l;
while(1==(PINA&0x01)) //等待转换完成
{;}
for(i=0;i<12;i++)
{
ad_sck_h;
delay(1);
ad_sck_l;
if(1==(PINA&0x01))
{
ray=ray<<1;
ray+1;
}
else
{
ray=ray<<1;
}
}
ad_sck_h;
ad_sck_l;
ray1=ray2=ray;
ad_cs_h;
ad_shdown_l;
}
回复 编辑 |