So, ich hab jetzt was Programmiert. Es kamen natürlich erstmal extrem viele Fehlermeldungen
Das sieht so aus:
unter Initial... (wo ich ADC und PWM krams initialisiere)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(); } }
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:
und diese Variable will ich auch gleich verwenden um den OCR1A zu beeinflussen. Das hab ich mir so vorgestellt: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; } } }
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.Code:extern void IR_Servosteuerung(uint8_t count) { OCR1A=(count+440); //440=min, 490=max }
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![]()







Zitieren
Lesezeichen