Ich verstehe das echt nicht.
Meine Interrupt-Routine sieht so aus:
Conv ist global deklariert:Code:ISR(ADC_vect) { conv=1; }
und meine Helligkeitsmessung sieht jetzt so aus:Code:volatile uint8_t count=0, conv=0;
das licht bleibt jetzt dauerhaft anCode://---------------------------------Helligkeitsmessung--------------------------------- void helligkeitsmessung(void) { uint16_t LDR; ADCSRA |= (1<<ADSC); //while (ADCSRA & (1<<ADSC)) //{ //; //} if (conv >= 1) { LDR = ADC; conv=0; } if (LDR<=150) { PORTD |= (1<<Scheinwerfer); PORTD |= (1<<Rueckleuchten); } if (LDR>=190) { PORTD &= ~(1<<Scheinwerfer); PORTD &= ~(1<<Rueckleuchten); } }![]()
viel euch das alles beim ersten Roboter auch alles so schwer?
MfG Jan






Zitieren

Lesezeichen