Teraz sie zastanawiam dlaczego oba wyniki wzraca mi takie same, czyli: "4" i nie zmieniaja sie.
Podlaczone mam pod PA0 i PA1, wyniki powinny byc "zmienne"...
volatile float result;
volatile uint8_t counter;
volatile int measure_sensor1, measure_sensor2;
char str[9];
char str2[9];
SIGNAL(SIG_ADC){
result=(float)(ADCL | (ADCH<<8))/1024*VREF;
counter++;
if(counter==50){
if(bit_is_set(ADMUX, MUX0)){
measure_sensor1=result;
ADMUX&=~_BV(MUX0);
}else{
measure_sensor2=result;
ADMUX=_BV(MUX0);
}
counter=0;
}
}
void init_adc(void){
ADCSRA = _BV(ADEN)|_BV(ADIE)|_BV(ADATE)|_BV(ADSC)|_BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2);
}
int main(){
LcdInit(); //init LCD
init_adc();
sei();
while(1){
//measure_sensor1 = 2;
itoa(measure_sensor1, str, 10);
itoa(measure_sensor2, str2, 10);
LcdClear();
LcdGotoXY(1,1);
LcdStr(1, "SENS1: ");
LcdStr(1, str);
LcdGotoXY(1,4);
LcdStr(1, "SENS2: ");
LcdStr(1, str2);
LcdUpdate();
}
return 0;
}
Podlaczone mam pod PA0 i PA1, wyniki powinny byc "zmienne"...