Hab die Variablen jetzt unter die #define x y sachen geschrieben und IR_Servosteuerung aus der main-Function komplett rausgenommen.
Mein kompletter Code
und das sind die ganzen Fehlermeldungen:Code:#include <avr/io.h> #include <stdint.h> #include <avr/interrupt.h> //#include <util/delay.h> #ifndef F_CPU #define F_CPU 16000000 #endif #define Scheinwerfer 0 #define Rueckleuchten 1 #define PWM_ServoPort 5 //Globale Variablen uint8_t a; uint8_t i; //---------------------------------Interrupt-routinen--------------------------------- ISR(TIMER1_OVF) //(c:20)Diese Routine soll bei Overflow von Timer1 ausgeführt werden { if(a=0) //(c:22) { IR_Servosteuerung(i); //(c:24) i++; if (i>=50) { a=1; } } if (a=1) //(c:31) { IR_Servosteuerung(i); i--; if (i<=0) { a=0; } } } //---------------------------------Helligkeitsmessung--------------------------------- void helligkeitsmessung(void) { uint16_t LDR; ADCSRA |= (1<<ADSC); while (ADCSRA & (1<<ADSC)) { ; } LDR = ADCL; LDR += (ADCH<<8); if (LDR<150) { PORTD |= (1<<Scheinwerfer); PORTD |= (1<<Rueckleuchten); } if (LDR>160) { PORTD &= ~(1<<Scheinwerfer); PORTD &= ~(1<<Rueckleuchten); } } //-------------------------------------IR_Servosteuerung--------------------------------------- void IR_Servosteuerung(uint8_t count) { //(c:69) OCR1A=(count+440); //440=min, 490=max } //-------------------------------------initialisierungen--------------------------------------- void Initial_ADC0(void) { ADMUX = 0x00; //AREF, resultat rechtsbündig, ADC-Eingang ADC0 ADCSRA = ((1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0)); //ADC eingeschaltet, Teilungsfaktor.. DDRD |= ((1<<Scheinwerfer) | (1<<Rueckleuchten)); } void Initial_IR_Servo(void) { TCCR1A = ((1<<WGM11)|(1<<COM1A1)|(1<<COM1A0)); //9-Bit PWM, Inverted Mode TCCR1B = (1<<CS12); //Prescaler 256 DDRD |= (1<<PWM_ServoPort); PORTD |= (1<<PWM_ServoPort); } //---------------------------------------Hauptprogramm--------------------------------- int main(void) { Initial_ADC0(); Initial_IR_Servo(); a=0; i=0; sei(); while(1) { helligkeitsmessung(); // IR_Servosteuerung(); } cli(); } //(c:104:2)
Hab mal die Zeilenzahlen kommmentiert drangeschrieben.Code:main.c:20: warning: `TIMER1_OVF' appears to be a misspelled signal handler main.c: In function `TIMER1_OVF': main.c:22: warning: suggest parentheses around assignment used as truth value main.c:24: warning: implicit declaration of function `IR_Servosteuerung' main.c:31: warning: suggest parentheses around assignment used as truth value main.c: At top level: main.c:69: error: conflicting types for 'IR_Servosteuerung' main.c:24: error: previous implicit declaration of 'IR_Servosteuerung' was here main.c:104:2: warning: no newline at end of file
Freu mich über jeden Tipp!
MfG Jan







Zitieren

Lesezeichen