Gast
#4556048
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