PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Deflcdchar



CR-Racing
30.01.2007, 11:37
Hallo zusammen,

ich benutze Bascom v. 1.11.8.3 mit einem Mega 128 und einem lcd 40x4

sobald ich ein Zeichen definiere kommt nach dem compilieren die Fehlermeldung

Error : 61 Line 6 Label not Found [_RAMPZ0 ] , in file ...

Ich weiß nicht was ich noch machen soll.

Gruß CR-Racing

Olle_Filzlaus
30.01.2007, 11:41
Hallo,

gib al bitte dein Programmcode mit an. Ich weiß ja nicht was in Zile 61 bei dir steht. Also wäre das ganze Programm hilfreich.

Ich habe mal sowas für mein 16x2 Display gemacht.




'**********************************
'* Atmega8 mit großen Zahlen *
'**********************************

$regfile "m8def.dat"
$crystal = 1000000

'blaues display
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
Config Lcdbus = 4
Config Lcd = 16 * 2


'Zeichen definieren
'**** 1 ****
Deflcdchar 0 , 32 , 1 , 3 , 7 , 15 , 1 , 1 , 1 ' replace ? with number (0-7)
Deflcdchar 1 , 32 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ' replace ? with number (0-7)
Deflcdchar 2 , 1 , 1 , 1 , 1 , 1 , 7 , 15 , 32 ' replace ? with number (0-7)
Deflcdchar 3 , 16 , 16 , 16 , 16 , 16 , 30 , 31 , 32 ' replace ? with number (0-7)

'**** 2 ****
Deflcdchar 4 , 32 , 7 , 15 , 32 , 32 , 32 , 7 , 15 ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 28 , 30 , 6 , 6 , 6 , 30 , 28 ' replace ? with number (0-7)
Deflcdchar 6 , 12 , 12 , 12 , 12 , 12 , 15 , 7 , 32 ' replace ? with number (0-7)
Deflcdchar 7 , 32 , 32 , 32 , 32 , 32 , 28 , 30 , 32 ' replace ? with number (0-7)

Cls 'wichtig, muss hin

Do

Cls

'* 1 ********************************
Locate 1 , 1
Lcd Chr(0)

Locate 1 , 2
Lcd Chr(1)

Locate 2 , 1
Lcd Chr(2)

Locate 2 , 2
Lcd Chr(3)

Wait 1

'* 2 ********************************
Locate 1 , 3
Lcd Chr(4)

Locate 1 , 4
Lcd Chr(5)

Locate 2 , 3
Lcd Chr(6)

Locate 2 , 4
Lcd Chr(7)

Wait 1

Loop


Vielleicht hilft es dir.

cu Arno

CR-Racing
30.01.2007, 11:46
In Zeile 61 steht gar nichts, das ist ja das seltsame.

$regfile = "M128def.dat"

$crystal = 2000000

Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31 ' replace ? with number (0-7)

Cls

Lcd Chr(0)

End

for_ro
30.01.2007, 12:01
Ich schätze, dass das wegen der fehlenden Config des LCDs kommt. Du versuchst ein CLS und ein Lcd Chr(0) und hast gar kein Display definiert.
Oder gibt es eine Art "Default"-Display?

Gruß

Rolf

CR-Racing
30.01.2007, 12:16
So hat das Programm ausgesehen, und bei Deflcdchar 5 kam dieser Fehler beim compilieren, wenn ich die ganzen Def.. auskommentiere oder lösche ist er weg.

$regfile = "M128def.dat"

$crystal = 2000000


Dim ___lcdno As Byte
Config Lcd = 40 * 4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , E2 = Portc.3 , Rs = Portc.1
Config Lcdbus = 4
Config Lcdmode = Por


Deflcdchar 0 , 32 , 1 , 3 , 7 , 15 , 31 , 31 , 31 ' replace ? with number (0-7)
Deflcdchar 1 , 16 , 24 , 28 , 30 , 31 , 31 , 31 , 31 ' replace ? with number (0-7)
Deflcdchar 2 , 31 , 31 , 31 , 31 , 15 , 7 , 3 , 1 ' replace ? with number (0-7)
Deflcdchar 3 , 31 , 31 , 31 , 31 , 30 , 28 , 24 , 16 ' replace ? with number (0-7)
Deflcdchar 4 , 31 , 31 , 32 , 32 , 32 , 32 , 32 , 32 ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 32 , 32 , 32 , 32 , 32 , 31 , 31 ' replace ? with number (0-7)
Cls

___lcdno = 0

Cls
Cursor Off


Lcd Chr(0)
Lcd Chr(2)


Do
Loop


End

linux_80
30.01.2007, 19:27
Hallo,

dieses RAMPZ0 wird beim M128 gebraucht, um auf den Flash zuzugreifen, und um die Daten des erstellten Zeichens auszulesen.
Diese Konstante ist aber in der Config-Datei des M128 nicht definiert, evtl. ein Bug :-k
evtl. kannst Du versuchen, das selber zu machen, irgendwo nähe Programmanfang:

Const _RAMPZ0 = 0
Dann lässt sich das zumindest mal übersetzen, es ist dann nur noch offen, ob das Programm dann auch das macht was es soll ;-)