PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beispielprogramm läst sich nicht kompilieren



Bauteiltöter
25.07.2008, 14:58
hallo,
ich habe mal Test weise das Beispielprogramm aus der Bascom-Hilfe kopiert und kompiliert. Es geht nicht ](*,)

Hier der Code, 1:1 auß der Hilfe kopiert

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

'name : t6963_240_128.bas

'copyright : (c) 1995-2005, MCS Electronics

'purpose : T6963C graphic display support demo 240 * 128

'micro : Mega8535

'suited for demo : yes

'commercial addon needed : no

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



$regfile = "m8535.dat" ' specify the used micro

$crystal = 8000000 ' used crystal frequency

$baud = 19200 ' use baud rate

$hwstack = 32 ' default use 32 for the hardware stack

$swstack = 10 ' default use 10 for the SW stack

$framesize = 40 ' default use 40 for the frame space



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

' (c) 2001-2008 MCS Electronics

' T6963C graphic display support demo 240 * 128

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



'The connections of the LCD used in this demo

'LCD pin connected to

' 1 GND GND

'2 GND GND

'3 +5V +5V
< '-----------------------------------------------------------------------------------------

'name : t6963_240_128.bas

'copyright : (c) 1995-2005, MCS Electronics

'purpose : T6963C graphic display support demo 240 * 128

'micro : Mega8535

'suited for demo : yes

'commercial addon needed : no

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


$regfile = "m8535.dat" ' specify the used micro

$crystal = 8000000 ' used crystal frequency

$baud = 19200 ' use baud rate

$hwstack = 32 ' default use 32 for the hardware stack

$swstack = 10 ' default use 10 for the SW stack

$framesize = 40 ' default use 40 for the frame space



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

' (c) 2001-2008 MCS Electronics

' T6963C graphic display support demo 240 * 128

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



'The connections of the LCD used in this demo

'LCD pin connected to

' 1 GND GND

'2 GND GND

'3 +5V +5V

'4 -9V -9V potmeter

'5 /WR PORTC.0

'6 /RD PORTC.1

'7 /CE PORTC.2

'8 C/D PORTC.3

'9 NC not conneted

'10 RESET PORTC.4

'11-18 D0-D7 PA

'19 FS PORTC.5

'20 NC not connected



'First we define that we use a graphic LCD

' Only 240*64 supported yet

Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8

'The dataport is the portname that is connected to the data lines of the LCD

'The controlport is the portname which pins are used to control the lcd

'CE, CD etc. are the pin number of the CONTROLPORT.

' For example CE =2 because it is connected to PORTC.2

'mode 8 gives 240 / 8 = 30 columns , mode=6 gives 240 / 6 = 40 columns



'Dim variables (y not used)

Dim X As Byte , Y As Byte





'Clear the screen will both clear text and graph display

Cls

'Other options are :

' CLS TEXT to clear only the text display

' CLS GRAPH to clear only the graphical part



Cursor Off



Wait 1

'locate works like the normal LCD locate statement

' LOCATE LINE,COLUMN LINE can be 1-8 and column 0-30





Locate 1 , 1



'Show some text

Lcd "MCS Electronics"

'And some othe text on line 2

Locate 2 , 1 : Lcd "T6963c support"

Locate 3 , 1 : Lcd "1234567890123456789012345678901234567890"

Locate 16 , 1 : Lcd "write this to the lower line"



Wait 2



Cls Text





'use the new LINE statement to create a box

'LINE(X0,Y0) - (X1,Y1), on/off

Line(0 , 0) -(239 , 127) , 255 ' diagonal line

Line(0 , 127) -(239 , 0) , 255 ' diagonal line

Line(0 , 0) -(240 , 0) , 255 ' horizontal upper line

Line(0 , 127) -(239 , 127) , 255 'horizontal lower line

Line(0 , 0) -(0 , 127) , 255 ' vertical left line

Line(239 , 0) -(239 , 127) , 255 ' vertical right line





Wait 2

' draw a line using PSET X,Y, ON/OFF

' PSET on.off param is 0 to clear a pixel and any other value to turn it on

For X = 0 To 140

Pset X , 20 , 255 ' set the pixel

Next



For X = 0 To 140

Pset X , 127 , 255 ' set the pixel

Next



Wait 2



'circle time

'circle(X,Y), radius, color

'X,y is the middle of the circle,color must be 255 to show a pixel and 0 to clear a pixel

For X = 1 To 10

Circle(20 , 20) , X , 255 ' show circle

Wait 1

Circle(20 , 20) , X , 0 'remove circle

Wait 1

Next



Wait 2



For X = 1 To 10

Circle(20 , 20) , X , 255 ' show circle

Waitms 200

Next

Wait 2

'Now it is time to show a picture

'SHOWPIC X,Y,label

'The label points to a label that holds the image data

Test:

Showpic 0 , 0 , Plaatje

Showpic 0 , 64 , Plaatje ' show 2 since we have a big display

Wait 2

Cls Text ' clear the text

End







'This label holds the mage data

Plaatje:

'$BGF will put the bitmap into the program at this location

$bgf "mcs.bgf"

1for X = 1 To 10

Circle(20 , 20) , X , 255 ' show circle

Waitms 200

Next

Wait 2

'Now it is time to show a picture

'SHOWPIC X,Y,label

'The label points to a label that holds the image data

Test:

Showpic 0 , 0 , Plaatje

Showpic 0 , 64 , Plaatje ' show 2 since we have a big display

Wait 2

Cls Text ' clear the text

End







'This label holds the mage data

Plaatje:

'$BGF will put the bitmap into the program at this location

$bgf "mcs.bgf"




und hier die Fehlermeldungen


Error:1 Line: 52 Unknown statement[<], in file : C:\Programme\...Bas
Error:31 Line :199 Invalid datatyoe [[0011]0], in file : C:\Programme\...Bas
Error=93 Line:199 variable not dimensioned[0->0], in file : C:\Programme\...Bas

inzwischen habe ich herrausgefunden, das die anweisung
Cls textfolgende Fehlermeldungen bringt:

Error:1 Line:1 No more space for bit [__LCDREV], in file : C:\Programme\...Bas
Error:31 Line:1 Invalid datatype[[0011]0], in file : C:\Programme\...Bas
Error:93 Line:1 Variable not dimensioned [0->], in file : C:\Programme\...Bas

die anweisung CLS GRAPH bringt ebenfalls die o.g. Fehlermeldungen.

Die Anweisung
Line(0 , 0) -(239 , 127) , 255 bringt die Fehlermeldungen


Error:211 Line:1 External routine not found [_GLINE] in file : C:\Programme\...Bas
Error:61 Line:1 Label not Foumd [_GLINE ] in file : C:\Programme\...Bas

warum geht das alles nicht?!?

Ich hoffe ihr könnt mir helfen

MfG bauteiltöter

StevieL
26.07.2008, 11:44
Hallo Bauteiltöter,

welche Bascom-Version benutzt du? In der history.txt habe ich beim Update auf 1.11.9.2 folgendes gefunden:

- CLS [option] failed while introducing new option for CLS for EADOGM128

CLS mit Option sollte also vor und nach Version 1.11.9.1 funktionieren.

Kann das sein, dass da beim Kopieren irgend etwas schief gegangen ist? Da ist Code doppelt vorhanden. Ist die Grafik, die eingebunden werden soll in deinem Verzeichnis vorhanden? Und "<" als Befehl gibt es wirklich nicht.

Schau doch mal in dein Bascom-Verzeichnis. Unter Samples -> Lcdgraph findest du das Programm komplett. Da sind auch die BGF (Bascom Graphic File) Dateien drin. Bei mir lässt sich das auch problemlos kompilieren.

Bauteiltöter
27.07.2008, 14:15
Hallo
StevieL,

ja, ichg benutze 1.11.9.1. ich hole mir dan ne neue version.

die demos aus dem von dir genannten ordner funktionieren, außer KS108.

da fehlt die Lib. is die in anderen versionen enthalten?

Aber das erklärt immer noch nicht, warum der "line"-Befehl nicht geht...

MfG Bauteiltöter

Edit: ich finde nur die 1.11.9.1... auf "line" und "Cls Text" kann ich verzichten, aber ich brauche !Umbedingt! die KS108, kann ich die auch i-wo anderst bekommen?


Edit2: So, jetzt geht auch die KS108.lib

Edit3: Jetzt geht auch line. Ich hab einfach vergessen, 255 ans ende zu setzen ](*,)