Hallo, ich bin der neue und hab gleich was zum knobeln.
Da ich mein Aquarium auf LED-Beleuchtung umgestellt hab dachte ich mir, ich könnte die alte mechanische Schaltuhr rauswerfen und gleich was hübsches mit Temperaturanzeige, Sonnenauf- und Untergang und Heizungsteuerung bauen.
Also nen Mega32 gegriffen, DS1307 RTC und nen 240x64Pixel Display lagen auch noch rum.
Irgendwann nach dem Aufräumen des Programmcodes und einem Testlauf der PWM-Routine lief das Programm nicht mehr an. Ein Durchlauf mit Debugausgaben auf der seriellen Schnittstelle zeigte, daß das Programm beim Auslesen der RTC hängen blieb.
Also Oszi angeklemmt zum mitlesen.
Schaltung läuft. Oszi abgenommen. Schaltung hängt. LA angeschlossen. Schaltung hängt.
Jetzt hab ich mich in der Fehlersuche verrannt und mit allem möglichen RC-Kombinationen versucht das Verhalten ohne Oszi nachzustellen.
Ohne Erfolg. Diverse Mega32 ,Mega664, Mega664P probiert, alle das gleiche Verhalten. (was hätte ich in der Woche alles sinnvolles machen können *grmpf*)
Letztendlich war es doch ein Programmfehler, beim Aufräumen hatte ich eine Routine die auf den TWI zugreift vor den TWI-Init geschoben.
Also hatte ich ein
TWCR=(1<<TWEN)|(1<<TWINT)
bevor ich TWBR und TWSR gesetzt habe.
Die Frage die ich mir jetzt stelle ist, warum ein Fluke 123 das Setzen der Busgeschwindigkeit ersetzen kann? Ist da schon mal jemand drüber gestolpert?
Da ich mein Aquarium auf LED-Beleuchtung umgestellt hab dachte ich mir, ich könnte die alte mechanische Schaltuhr rauswerfen und gleich was hübsches mit Temperaturanzeige, Sonnenauf- und Untergang und Heizungsteuerung bauen.
Also nen Mega32 gegriffen, DS1307 RTC und nen 240x64Pixel Display lagen auch noch rum.
Irgendwann nach dem Aufräumen des Programmcodes und einem Testlauf der PWM-Routine lief das Programm nicht mehr an. Ein Durchlauf mit Debugausgaben auf der seriellen Schnittstelle zeigte, daß das Programm beim Auslesen der RTC hängen blieb.
Also Oszi angeklemmt zum mitlesen.
Schaltung läuft. Oszi abgenommen. Schaltung hängt. LA angeschlossen. Schaltung hängt.
Jetzt hab ich mich in der Fehlersuche verrannt und mit allem möglichen RC-Kombinationen versucht das Verhalten ohne Oszi nachzustellen.
Ohne Erfolg. Diverse Mega32 ,Mega664, Mega664P probiert, alle das gleiche Verhalten. (was hätte ich in der Woche alles sinnvolles machen können *grmpf*)
Letztendlich war es doch ein Programmfehler, beim Aufräumen hatte ich eine Routine die auf den TWI zugreift vor den TWI-Init geschoben.
Also hatte ich ein
TWCR=(1<<TWEN)|(1<<TWINT)
bevor ich TWBR und TWSR gesetzt habe.
Die Frage die ich mir jetzt stelle ist, warum ein Fluke 123 das Setzen der Busgeschwindigkeit ersetzen kann? Ist da schon mal jemand drüber gestolpert?