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: LCD-Ansteuerung Kategorie: Programmierung Basic (von André H. - 1.03.2004 0:06)
 Als Antwort auf Re: LCD-Ansteuerung von Jan Dressler - 29.02.2004 22:46
Hallo Jan,

> was ich pers gern wüsste aber nicht weiß ist: wie gebe ich beispielsweise ne variable aus die zahlen
> UND buchstaben enthält.
> sowas gibts nicht... DOCH :)
> ich lese seriell nen magnetfeld-coupler der ne seriennummer zurückkgibt... und diese ist hexa-dezimal
> 8 byte lang also 16 zeichen... genau eine LCD zeile...
>
> wie gebe ich sowas denn aus?
> kann da einer helfen?

Zuerst: In Variablen können bei der CC1 keine Buchstaben stehen, sondern nur zahlen.
Hexadezimal ist genauso wie Dezimal, Octal, Hex, Trinär und was einem noch für Darstellungsweisen
einfallen, wirklich nur eine Darstellungsform einer Zahl.

Du meinst also eher die Anzeige von 8 Bytewertden in Hexadezimaler Schreibweise.
Das ginge z.B. so: (Allgemein gefasst, egal mit was man dies ausgibt)
'Achtung kein gültiger CC-Basic-Syntax !
#LCD_hex 'HEX-Ausgabe von Bytewerten
if cmd shr 4 > 9 then putchar((cmd shr 4)+&h37) else putchar((cmd shr 4)+&h30
if cmd and &hF > 9 then putchar((cmd and &hF 4)+&h37) else putchar((cmd and &hF)+&h30
return


Für das PCF-LCD-interface würde das dann so aussehen:
#LCD_hex 'HEX-Ausgabe von Bytewerten
if cmd shr 4 > 9 then sys &h101,LCDLight,(cmd shr 4)+&h37,PCF else sys &h101,LCDLight,(cmd shr 4)+&h30,PCF
if cmd and &hF > 9 then sys &h101,LCDLight,(cmd and &hF)+&h37,PCF else sys &h101,LCDLight,(cmd and &hF)+&h30,PCF
return


Für das SR-LCD-Interface:
#LCD_hex 'HEX-Ausgabe von Bytewerten
if (cmd shr 4) > 9 then sys pcmd,(cmd shr 4)+&h37,LCD_RS_1 or SRPorts else sys sys pcmd,(cmd shr 4)+&h30,LCD_RS_1 or SRPorts
if (cmd and &hF) > 9 then sys pcmd,(cmd and &hF)+&h37,LCD_RS_1 or SRPorts else sys pcmd,(cmd and &hF)+&h30,LCD_RS_1 or SRPorts
return


MfG André H.

 Antwort schreiben

Bisherige Antworten: