So, ich hab jetzt was Programmiert. Es kamen natürlich erstmal extrem viele Fehlermeldungen

Das sieht so aus:

Code:
int main(void)
{
Initial_ADC0();
Initial_IR_Servo();
uint8_t a;  //Global?
a=0;        //Global?
uint8_t i;  //Global?
i=0;         //Global?

while(1)
  {
  helligkeitsmessung();
  IR_Servosteuerung();
  }
}
unter Initial... (wo ich ADC und PWM krams initialisiere)
hab ich a und i deklariert. Is das nicht Global?

Dann hab ich das hier geschrieben, damit bei jedem Overflow von Timer1 eine Variable endweder hoch- oder runtergezählt wird:
Code:
ISR(TIMER1_OVF) //Diese Routine soll bei Overflow von Timer1 ausgeführt werden
{
if(a=0)
  {
  IR_Servosteuerung(i);
  i++;
  if (i>=50)
    {
	a=1;
	}
  }
if (a=1)
  {
  IR_Servosteuerung(i);
  i--;
  if (i<=0)
    {
	a=0;
	}
  }
}
und diese Variable will ich auch gleich verwenden um den OCR1A zu beeinflussen. Das hab ich mir so vorgestellt:
Code:
extern void IR_Servosteuerung(uint8_t count)
{ 
OCR1A=(count+440); //440=min, 490=max
}
Der meckert aber irgendwie wegen den Variablen a und i rum und die Funktion IR_Servosteuerung in main in der Whileschleife gefällt ihm nicht.
Hoffe mir kann jemand helfen. Ach ja. Wo müsste ich dann sei() und cli() hinsetzen? Meine C-Kenntnisse sind wohl nicht so die dollsten... Aber was nicht is kann ja noch kommen