Hallo zusammen,
ich kämpfe mit einem etwas seltsamen Problem. In einer Applikation möchte ich ein LCD-Display 4*20 (ebay IIC/I2C/TWI/SPI Interface 1602 2004 Blue Yellow Character LCD Display Module) auf dem I2C-Bus betreiben. Mit auf dem Bus sitzt eine RTC (ebay PCF8563T RTC Module). Im Normalbetrieb wird nur die Uhrzeit angezeigt. Über einen Taster, der auf dem INT1 Eingang liegt soll in ein Untermenü gesprungen werden. Weiter läuft ein Timer-Interrupt im Hintergrund. Aktuell nutze ich das EVAL-Board von Pollin und ein Atmega32 um das Ganze zu betreiben. Jetzt kommt es sporadisch vor das die Anzeige abstürzt und nur noch ein Zeichensalat anzeigt. Um den I2C-Bus auszuschließen habe ich ein anderes Display (4x16) im 4Bit Betrieb angeschlossen, Gleiches Phänomen. Der Effekt kommt schneller wenn in der INT1-Routine noch ein Text ausgegeben wird. Gleiches "funktioniert" auch mit INT0. Es gibt eine leichte Verbesserung wenn ich alle Interrupts vor einer Ausgabe sperre und danach wieder frei geben Das kann es jedoch nicht sein.
Vielleicht hat jemand eine Idee woran das liegen kann. Ich bin mit meinem Latein am Ende
ich kämpfe mit einem etwas seltsamen Problem. In einer Applikation möchte ich ein LCD-Display 4*20 (ebay IIC/I2C/TWI/SPI Interface 1602 2004 Blue Yellow Character LCD Display Module) auf dem I2C-Bus betreiben. Mit auf dem Bus sitzt eine RTC (ebay PCF8563T RTC Module). Im Normalbetrieb wird nur die Uhrzeit angezeigt. Über einen Taster, der auf dem INT1 Eingang liegt soll in ein Untermenü gesprungen werden. Weiter läuft ein Timer-Interrupt im Hintergrund. Aktuell nutze ich das EVAL-Board von Pollin und ein Atmega32 um das Ganze zu betreiben. Jetzt kommt es sporadisch vor das die Anzeige abstürzt und nur noch ein Zeichensalat anzeigt. Um den I2C-Bus auszuschließen habe ich ein anderes Display (4x16) im 4Bit Betrieb angeschlossen, Gleiches Phänomen. Der Effekt kommt schneller wenn in der INT1-Routine noch ein Text ausgegeben wird. Gleiches "funktioniert" auch mit INT0. Es gibt eine leichte Verbesserung wenn ich alle Interrupts vor einer Ausgabe sperre und danach wieder frei geben Das kann es jedoch nicht sein.
Vielleicht hat jemand eine Idee woran das liegen kann. Ich bin mit meinem Latein am Ende