Hallo zusammen, derzeit arbeite ich an einem für mich größerem Projekt. Das Ganze wird eine Gewächshaussteuerung mit einem Atmega8 als Steuereinheit. Kurz das drum herrum: - IC2 : Mit LM75 & SHT21 & PCF8574 als Portexpander - ADW : LED für Beleuchtungsmessung ein Bodenfeuchtesensor und ein über ein R2R Wiederstand gespeister Drehschalter für die Displaysteuerung Desweiteren 3 Taster zur Steuerung der Betriebsparameter. Ein 2 Zeiliges LCD Display gibt die Parameter über die Sensoren aus. Soweit funktioniert auch alles. Über dein Timer0 steuere ich ein Switch, welcher nach und nach die Sensoren ausließt. Erreicht meine Zählvariable in Timer0 einen bestimmten Wert wird das LCD aktuallisiert. Im EEPROM des MCs stehen Grenzwerte die mit den Messungen verglichen werden. Wird z.B die maximale Lüftfeuchte überschritten soll ein Servo ein Fenster öffnen. Und nun zu meinem Problem. Ich hatte geplant den Servo über den Timer1 anzusteuern, doch sobalt das Timerinterrupt aktiv ist. Funktioniert das LCD nicht mehr. Zu Debug zwecken habe ich dann überall im Code marker eingefühgt und dabei festgestellt. das lediglich in meiner Initialisierungsfunktion das Display noch angesteuert wird. Interessanter Weise wird das Display scheibar ständig resetet und mein in der Init stehender "TEST" immer wieder neu angezeigt. Es sieht so aus als wenn sobalt TIMSK |= (1<<OCIE1A); gesetzt ist der Atmega stänig resetet. bekomm ich Servo und LCD irgendwie unter einen Hut? Code hängt im Anhang. Ich hoffe ihr könnt mir weiterhelfen. und reißt mich nicht außeinander ich lerne immer noch:) Lg Verzweifelter
> TIMSK |= (1<<OCIE1A); //Timer-Compare Inerrupt an
Das hier ist der Overflow Interrupt und nicht Compare
ISR (TIMER1_OVF_vect)
/* Interrupt für Timer1 - Steuert die Servoposition */ ISR (TIMER1_OVF_vect) { //OCR1A = SERVO_PULS-OCR1A; OCR1A = 10000; } Du hast eine ISR für OV, willst aber eigentlich eine für OCR1A, oder?
Jab oh man, manchmal sieht man den Wald vor lauter Bäumen nicht mehr:) vielen Dank für die schnelle Antwort. jetzt funktioniert es. Und euch einen schönen abend noch:D
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.