Hallo Mitch64!
Tja, angelesen habe ich das bereits.
$LCDPUTCTRL und $LCDPUTDATA definieren Subs in denen man mittels ASM direkt ins R24 schreibt.
Prinzip verstanden, aber noch nicht gemacht.
Eventuell traue ich mich demnächst mal da ran - jetzt bin ich erst mal froh das dieses Projekt auch was am LCD ausgeben kann, und ich nicht permanent über die UART den HTerm im Blick haben muss.
Somit sitze ich noch am ungewolltem Scroll-Effekt.
Also habe ich alle LCD-Schreibbefehle nun mal zusammen in eine Sub gepackt die im Sekundentakt das LCD befeuert.
Alles anzeigen
Zeilen 1-7 waren zuerst in Lcdat 1,1, habe ich nun in Zeile 2 um einen Sicherheitsabstand von 8 Pixeln zum oberen Rand zu bekommen.
Zeile 20 spuckt mir die aktuelle Akkuspannung (Fusing "#.###") an, die habe ich von Zeile 8 aus auf Zeile 7 gepackt, um auch von der Unterkante 8 Pixel Sicherheitsabstand einhalte.
Diese beiden Sachen haben das Problem aber nicht gelöst.
Die Ursache liegt im auskommentierten Zeilenbereich 9-18:
Je nach Sensorkennung (hA0 oder hA1) sollte entweder "A0 = Repeater" oder "A1 = Sensor 1" ausgegeben werden.
Das erste Zeichen sitzt wie zu erkennen ebenso ab Pixel 1 (Zeilenbeginn). Das jeweilige Wort "Sensor 1" oder "Repeater" landete mit Lcdat 4, 40 ziemlich exakt mittig des LCD's mit reichlich Abstand zum rechten Rand.
Dennoch ist es genau diese Ausgabe welche mir die Anzeige verreißt:
Es tauchen plötzlich wilde Zahlenketten hinter der Akkuspannung (z.B. 3.652V70) auf, im nächsten Augenblick springt die Zeit-Zeile von Zeile 2 in Zeile 8 und alles verschiebt sich.
Mit den auskommentierten Zeilen 9-18 läuft es deutlich besser.
Zumindest verreißt es mit nicht mehr alles, aber störende Zeichen die da nicht hin gehören gibt es weiterhin *grübel*
Aber was andere Grafik-LCD's und TFT's angeht, habe ich auf der Suche nach diversen Controllertypen eine zwar nicht topaktuelle, aber zumindest schon brauchbare Zusammenfassung gefunden:
mcselec.com/index2.php?option=…59&page=viewtopic&t=13074
Grüße
Jürgen
Mitch64 schrieb:
Oder über Vorschlag 3 in Post #11 mal nachdenken.Dann könne alles mit aktueller Verdrahtung als Hardware-SPI-laufen.DG7GJ schrieb:
Tja, wieder ein Argument für ein Redesign.
Auch die beiden Displays.
$LCDPUTCTRL und $LCDPUTDATA definieren Subs in denen man mittels ASM direkt ins R24 schreibt.
Prinzip verstanden, aber noch nicht gemacht.
Eventuell traue ich mich demnächst mal da ran - jetzt bin ich erst mal froh das dieses Projekt auch was am LCD ausgeben kann, und ich nicht permanent über die UART den HTerm im Blick haben muss.
Somit sitze ich noch am ungewolltem Scroll-Effekt.
Also habe ich alle LCD-Schreibbefehle nun mal zusammen in eine Sub gepackt die im Sekundentakt das LCD befeuert.
BASCOM-Quellcode
- If Timezone = 1 then
- Lcdat 2 , 1 , Wochentag
- Lcdat 2 , 17, Date$ ; " " ; Time$ ;"w"
- else
- Lcdat 2 , 1 , Wochentag
- Lcdat 2 , 17, Date$ ; " " ; Time$ ;"s"
- end If
- 'Lcdat 3, 1, Hex(RX_0(1));" = "
- 'end if
- 'If RX_0(1) = &hA0 then
- 'lcdat 4, 40, "Repeater"
- 'end if
- 'If RX_0(1) = &hA1 then
- 'lcdat 4, 40, "Sensor 1"
- 'end If
- Lcdat 7, 1, "Akku: ";AkkuS;"V"
- Return
Zeilen 1-7 waren zuerst in Lcdat 1,1, habe ich nun in Zeile 2 um einen Sicherheitsabstand von 8 Pixeln zum oberen Rand zu bekommen.
Zeile 20 spuckt mir die aktuelle Akkuspannung (Fusing "#.###") an, die habe ich von Zeile 8 aus auf Zeile 7 gepackt, um auch von der Unterkante 8 Pixel Sicherheitsabstand einhalte.
Diese beiden Sachen haben das Problem aber nicht gelöst.
Die Ursache liegt im auskommentierten Zeilenbereich 9-18:
Je nach Sensorkennung (hA0 oder hA1) sollte entweder "A0 = Repeater" oder "A1 = Sensor 1" ausgegeben werden.
Das erste Zeichen sitzt wie zu erkennen ebenso ab Pixel 1 (Zeilenbeginn). Das jeweilige Wort "Sensor 1" oder "Repeater" landete mit Lcdat 4, 40 ziemlich exakt mittig des LCD's mit reichlich Abstand zum rechten Rand.
Dennoch ist es genau diese Ausgabe welche mir die Anzeige verreißt:
Es tauchen plötzlich wilde Zahlenketten hinter der Akkuspannung (z.B. 3.652V70) auf, im nächsten Augenblick springt die Zeit-Zeile von Zeile 2 in Zeile 8 und alles verschiebt sich.
Mit den auskommentierten Zeilen 9-18 läuft es deutlich besser.
Zumindest verreißt es mit nicht mehr alles, aber störende Zeichen die da nicht hin gehören gibt es weiterhin *grübel*
Aber was andere Grafik-LCD's und TFT's angeht, habe ich auf der Suche nach diversen Controllertypen eine zwar nicht topaktuelle, aber zumindest schon brauchbare Zusammenfassung gefunden:
mcselec.com/index2.php?option=…59&page=viewtopic&t=13074
Grüße
Jürgen