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)