Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: asm lcd-treiber Kategorie: Programmierung ASM (von Carsten - 6.10.2004 8:47)
 Als Antwort auf asm lcd-treiber von setup_exe - 4.10.2004 18:51

>
>
> Hallo Forum,
Hallo Dominique!

> Mein Problem ist LCD_PRINT. Derzeit übergebe ich an Adresse $0A1 den HEX-Wert
> des darzustellenden Zeichens. Dabei muss ich bei Zeichen > 1 immer LCD_PRINT
> erneut aufrufen. Die Zeichen werden gegenüber CC_Basic trotzdem sehr schnell an-
> gezeigt.

Jo, ist die klassiche Weise Zeichen darzustellen.

> Die Zeichen sind im CC-Basic definiert. Ich würde aber gern schreiben:
>
> sys LCD_LINE1:sys LCD_PRINT:print"LEISTUNG:"
>

Mach doch! ;-)

> Leider bin ich dafür ein DAU und würde mich über einen eventuellen
> Lösungsweg freuen (brauche nur einen Tip wo ich ansetzen muss).
> Anbei der bisherige asm-Code, mit der Bitte um Verbesserungen:

Der Lösungsweg ist eigentlich ganz einfach (und wurde schon zu Zeiten des C64 und dex ZX Spectrums verwendet... daher habe ich auch die Idee): die Routine LCD_PRINT muss über den Basic-Programmzeiger schauen, ob das nächste Basic-Token ein PRINT ist. Ist das der Fall, überliest die Routine das Token und gibt die folgenden Zeichen im Basic-Speicherbereich bis zur nächsten NULL (terminiert den String) aus. Ganz einfach, ne?! :-)
Denk dran, daß Du den Basic-Programmzeiger hochzählen musst, damit er am Ende Deines LCD_PRINT auf dem nächsten Token nach dem PRINT-Befehl steht, sonst stürzt Dein Programm ab.
Beachte auch, daß Du so NUR Strings ausgeben kannst! Bei Variablen, numerischen Werten, Formeln, etc. funktioniert das nicht!
Ich verwende eine solche Routine schon eine Weile erfolgreich mit meinem I2C-Display.

> Cu Dominique
Good luck

 Antwort schreiben

Bisherige Antworten:

Re: asm lcd-treiber (von setup_exe - 6.10.2004 18:27)
    Re: asm lcd-treiber (von Topmail - 7.10.2004 18:06)