вешаю на тини13 два термодатчика ntc-10кОм. по очереди читаю сначала один потом другой. после каждого чтения делается запись в переменные. у каждого датчика по одной переменной.
проблема в том что у меня ацп не хочет читать значение второго датчика(adc3). считывает первый(adc0). записывает значение и все... может я не правильно инициирую считывание второго датчика. при изменении температуры первого датчика меняется температура второго. вот текст. подскажите что не так.
while(1)
{ ADCSRA |= (1<<ADSC);
ADMUX = (0 << MUX1)|(0 << MUX0)|(1 << REFS0)|(1<<ADLAR);
if (ADCSRA & (1<<ADIF))
{ delay_ms(1000);
adc0 = ADCL;
adc0 += (ADCH<<8);
if (adc0 >= 10) { PORTB.0=0; delay_ms(60000);}
delay_ms(1000);
if (adc0 < 10) {PORTB.0=1;};
}
ADCSRA |= (1<<ADSC);
ADMUX = (1 << MUX1)|(1 << MUX0)|(1 << REFS0)|(1<<ADLAR);
if (ADCSRA & (1<<ADIF))
{ delay_ms(1000);
adc3 = ADCL;
adc3 += (ADCH<<8);
if (adc3 < 10 ) {PORTB.2 = 1;} else {PORTB.2 = 0;};
delay_ms(1000);
}
}
}
Раздел: Песочница или Вопрос-Ответ
проблема в том что у меня ацп не хочет читать значение второго датчика(adc3). считывает первый(adc0). записывает значение и все... может я не правильно инициирую считывание второго датчика. при изменении температуры первого датчика меняется температура второго. вот текст. подскажите что не так.
while(1)
{ ADCSRA |= (1<<ADSC);
ADMUX = (0 << MUX1)|(0 << MUX0)|(1 << REFS0)|(1<<ADLAR);
if (ADCSRA & (1<<ADIF))
{ delay_ms(1000);
adc0 = ADCL;
adc0 += (ADCH<<8);
if (adc0 >= 10) { PORTB.0=0; delay_ms(60000);}
delay_ms(1000);
if (adc0 < 10) {PORTB.0=1;};
}
ADCSRA |= (1<<ADSC);
ADMUX = (1 << MUX1)|(1 << MUX0)|(1 << REFS0)|(1<<ADLAR);
if (ADCSRA & (1<<ADIF))
{ delay_ms(1000);
adc3 = ADCL;
adc3 += (ADCH<<8);
if (adc3 < 10 ) {PORTB.2 = 1;} else {PORTB.2 = 0;};
delay_ms(1000);
}
}
}
Раздел: Песочница или Вопрос-Ответ