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: ich kriegs einfach nicht gebacken CCBASIC/BASIC++ Kategorie: Programmierung Basic (von Henrik, Homepage - 1.10.2005 22:50)
 Als Antwort auf ich kriegs einfach nicht gebacken CCBASIC/BASIC++ von Robert - 1.10.2005 21:14
Henrik nutzt:  CC1-M-Unit V1.2/2.0, Micro

> Hallo!
> Ich versuche nun schon ne halbe ewigkeit folgenden code nach BASIC++ zu übersetzen, aber es funzt absolut nicht.. jemand nen tip?

Zunachst solltest Du die Konventionen von Basic++ einhalten. Also kein gosub, statt "&hxxxxx"
"xxxxh" usw. Da Du uns nicht erzählst, wo es denn nun klemmt, welche Fehlermeldungen du
bekomst etc. klatsche ich hier meine gesammelten LCD Routinen rein.
ACHTUNG! Die benütigten Variablen musst Du Dir selbst aus dem Code rausklauben und definieren!

Grüße
Henrik


'--------------------- LCD Routinen ---------------------------------
function lcd_locate(y ref line, x ref row)

if line = 1 then base = line1  'Die Werte sind als Konstanten
if line = 2 then base = line2  'im Kopf definiert und können
if line = 3 then base = line3  'dort dem verwendeten Display
if line = 4 then base = line4  'angepasst werden.
                               'Das Datenblatt gibt Auskunft
                               'über die CG-ROM Belegung.
lcddata = base + row-1
lcd_writecmd()

end function

'---------------------------------------------------------
function lcd_cursor_on()
lcddata = 00001110b
lcd_writecmd()
end function
'---------------------------------------------------------
function lcd_cursor_off()
lcddata = 00001100b
lcd_writecmd()
end function

'-------------------------------------------------------------------

function init_character()
lcddata=00000110b                       'User Ram aktivieren und
lcd_writecmd()                          'auf schreiben setzen.
lcddata=01000000b                       'Zeiger auf Zeichen
                                        '0 setzen.
lcd_writecmd()

for tempval = 0 to 63
lcddata = looktab (lcd_character,tempval)
put lcddata
next

lcddata = 10000000b
lcd_writecmd()                           'User Ram deaktivieren
                                         'umschalten auf Normal-
                                         'betrieb
end function

'-------------------------------------------------------------------

'---------------------------------------------------------
'---------- Hilfsroutine für CMD-Ausgabe an LCD ----------
'---------------------------------------------------------

function LCD_WRITECMD()

'-------- höherwertiges nibble senden ------------------
OUTBYTE = (LCDDATA shr 4)
OUTPORT = OUTBYTE or 01000000b
set_byteport()
OUTPORT = OUTBYTE and 10111111b
set_byteport()
'--------- niederwertiges nibble senden ------------------
OUTBYTE = (LCDDATA and 0Fh)
OUTPORT = OUTBYTE or 01000000b
set_byteport()
OUTPORT = OUTBYTE and 10111111b
set_byteport()
end function
'----------------------------------------------------------
'------- Bug Umgehungspfusch für C-Control(V 2.01)--------
'----------------------------------------------------------
function set_byteport()
LCDP0 = OP0
LCDP1 = OP1
LCDP2 = OP2
LCDP3 = OP3
LCDP4 = OP4
LCDP5 = OP5
LCDP6 = OP6

end function
'--------------------------------------------------------------------
'--------------------------------------------------------------------
table lcd_character           'invertierte Zahlendarstellung 0 bis 7
31 17 21 21 21 21 17 31       '0
31 27 19 27 27 27 17 31       '1
31 17 29 29 17 23 17 31       '2
31 17 29 29 17 29 17 31       '3
31 21 21 21 17 29 29 31       '4
31 17 23 23 17 29 17 31       '5
31 19 23 23 17 21 17 31       '6
31 17 29 27 23 23 23 31       '7
end table


Meine Homepage: http://www.henrik-reimers.de/control/

 Antwort schreiben

Bisherige Antworten:

Re: ich kriegs einfach nicht gebacken CCBASIC/BASIC++ (von Robert - 2.10.2005 1:08)
    Re: ich kriegs einfach nicht gebacken CCBASIC/BASIC++ (von Henrik - 2.10.2005 14:10)