Hallo,

ich hatte in einem Projekt auch mal ab und an das Phänomen, dass in einem Array, welches vom ADC gefüllt wird, Werte > 1023 waren.

Später hat sich herausgestellt, das dieser Fehler (und ein paar sporadische weitere) durch schlechtes Timing auftraten und dieses Timing wurde durch die LCD-Ausgabe "versaut"

hierbei stellte ich fest, dass der Bascom-Befehl für eine Ausgabe von 20 Zeichen ca. 23ms brauchte.
Da gerade beim programmieren und testen, mehr Debug-Ausgaben auch auf das Display gebracht wurden, produzierte ich die Fehler umso öfter.

Die Lösung für mich war dann:
- das Display im 8-Bit-Modus zu betreiben
- anstelle des lcd-Befehls eigene Routinen zu schreiben, welche die Ausgaben in einen 80 Zeichen-String legten (4*20Zeichen Display)
- Zeitlich gesteuert diesen 80-Zeichen-String an das Display zu senden.

im Gegensatz zu
20 Zeichen / 23ms erreichte ich
80 Zeichen / 3,3ms

damit waren meine Timingprobleme weg

Gruß BoGe-Ro