Gast
#271255
Hallo, Ich lese über die serielle Schnittstelle einen Windsensor aus, welcher in 1s Abständen seine Daten in einem 22 Byte Paket schickt. Die Daten werden auf einem 2 x 16 HD44780 kompatiblen Display ausgegeben. Dazu verwende ich die Libraries von Peter Fleury (LCD und UART). Weiter habe ich mir von einer anderen Quelle im Internet ein Codefragment kopiert, welches mit dem Timer0 eine generelle Zeitbasis im 1ms Rythmus bereitstellt. Diese habe ich bereits bei anderen Programmen als Basis für einen Delay verwendet. Verwende ich nun diesen Delay (ms_sleep()) in meinem Program nach dem ausgeben einer Startmeldung auf dem LCD, so kommt es vor dem Ausgeben des ersten Datenpakets zu Müll auf dem Display. Der ganze LCD ist mit wirren Zeichen gefüllt. Dannach funktioniert das Program anstandslos. Verwende ich als Delay die avr/delay.h Library der avr-libc, so tritt dieser Effekt nicht auf. Kann mir das mal jemand erklären. Ich bin ratlos. Hat das verharren in einer ISR einen Einfluss ? Danke für jeden Tipp Daniel