Forum: Mikrocontroller und Digitale Elektronik Setfont-Befehl in Bascom funzt net


von Sebastian (Gast)


Lesenswert?

Hey,

nachdem mein Grafikdisplay jetzt endlich funktioniert (T9693)
habe ich das Problen, dass ich in meinem Programm immer Fehlermeldungen 
bekomme...

Programm:
1
$regfile = "M16def.dat"
2
$crystal = 16000000
3
4
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 ,
5
Reset = 4 , Fs = 5 , Mode = 8
6
7
Cls
8
Cursor Off
9
10
Setfont Font8x8
11
12
Lcdat 1 , 1 , "1231231"
13
14
End
15
16
$include "font8x8.font"

Fehlermeldungen:
Error : 31    Line :   9     Invalid datatype [[0011] 0[___FONTTABLE]]
Error : 5     Line :   12    No more space for BIT [___LCDROW]
Error : 5     Line :   12    No more space for BIT [___LCDCOL]


Ich weiß echt net mehr weiter.
Is das en Fehler in Bascom oder in meinem Kopf???

von Paul Baumann (Gast)


Lesenswert?

Hast Du mal das Beispiel, welches unter der Hilfe zum Befehl "Setfont"
aufgeführt ist ausprobiert?

MfG Paul

von Daniel F. (df311)


Lesenswert?

meines wissens hat bascom (je nach lizenz, bin mir nicht sicher da ich 
kein bascom verwende) eine einschränkung bis zu der code generiert 
werden kann. außerdem hat jeder controller nur endlich viel 
speicherplatz verfügbar.
die fehlermeldung (zeile zwei und drei) deutet darauf hin, dass einer 
der zwei werte überschritten wurde...
außerdem scheint die geladene font-datei nicht kompatibel zu sein (erste 
fehlermeldung)

von Sebastian (Gast)


Lesenswert?

Ja, in dem Besispiel werden Ports verwendet (PortA) den der 
Beispielcontroller (M48) garnet hat, wenn ich das ändere, schreibt er, 
"label not found"...

von Sebastian (Gast)


Lesenswert?

Die Demo generiert max 4kb Code, hab keine 4 kb aber die Vollversion...

Und nen Mega16 hat ja net wenig Speicher :)

von MWS (Gast)


Lesenswert?

Für Setfont und Lcddat brauchst Du eine Lib für das Display, der 
Standardtreiber von Config Graphlcd = ... reicht da nicht.

Sebastian schrieb:
> endlich funktioniert (T9693)

Ich nehm' an, Du hast den Typ falsch geschrieben, für Dein Display 
gibt's ein Beispiel im Samples-Ordner von Bascom, das nennt sich: 
t6963_240_128.bas

von Sebastian (Gast)


Lesenswert?

ok, ich das die standard-lib?

glcd.lib

von Sebastian (Gast)


Lesenswert?

ich hab jetzt die "Glcdra6963.lib" eingefügt, selbe Fehlermeldung...
1
$regfile = "M16def.dat"
2
$crystal = 16000000
3
$lib "Glcdra6963.lib"
4
5
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
6
7
Cls
8
Cursor Off
9
10
Setfont Font8x8
11
12
Lcdat 1 , 1 , "1231231"
13
14
End
15
16
$include "font8x8.font"

von MWS (Gast)


Lesenswert?

Sebastian schrieb:
> ok, ich das die standard-lib?
>
> glcd.lib

Ich mag jetzt nicht raten müssen, was ich darunter verstehen soll, 
versuch's mal mit ganzen Sätzen.

Das hier wäre noch interessant:
http://www.mcselec.com/index.php?option=com_content&task=view&id=85&Itemid=57

> ich hab jetzt die "Glcdra6963.lib" eingefügt, selbe Fehlermeldung...
Gibt's in meinem Lib-Verzeichnis nicht. Wo ist die her?

von magor6 (Gast)


Lesenswert?

MWS schrieb:
> Gibt's in meinem Lib-Verzeichnis nicht. Wo ist die her?
Ist standardmäßig in der Version 2.0.7.1 mit drinne. Eben gecheckt.

von mue-c (Gast)


Lesenswert?

Hallo Sebastian,
für den  T6963C Controller brauchst du in Bascom keine separate Lib 
anzugeben.
Außerdem hat der Controller eingebaute Fonts (5x8,6x8,7x8,8x8), die du 
über die FS Pins selektieren kannst. Daher macht der Befehl Setfont und 
das Include der Fontdatei keinen Sinn.
Text auf eine bestimmte Stelle setzt du mit
Locate 1,1
Lcd "1231231"
Schau mal in die Hilfe zu Config Graphlcd.

von Sebastian (Gast)


Lesenswert?

Ich möchte großen Text anzeigen also z.B. 32x32

Geht das nicht?

von MWS (Gast)


Lesenswert?

magor6 schrieb:
> Ist standardmäßig in der Version 2.0.7.1 mit drinne. Eben gecheckt.

Auch schön :-) Bei meiner 2.0.7.4 war's nicht drin. Dann wirst Du jetzt 
zum Spezialisten ernannt und darfst die Fragen des TE weiter 
beantworten.

von spess53 (Gast)


Lesenswert?

Hi

>Außerdem hat der Controller eingebaute Fonts (5x8,6x8,7x8,8x8), die du
>über die FS Pins selektieren kannst.

Der T6963 hat einen Font für den Textmode. Über FS wird nur der 
Abstand zwischen den Zeichen eingestellt. Der unangenehme Nebeneffekt 
ist, das dann auch von einem Byte des Grafikspeichers nur die 
eingestellte Zeichenbreite dargestellt wird. Bei den meisten Displays 
ist auch nur ein FS-Anschluss vorhanden, der zwischen 8x8 und 6x8 
umschaltet.

MfG Spess

von mue-c (Gast)


Lesenswert?

Sebastian schrieb:
> Ich möchte großen Text anzeigen also z.B. 32x32Geht das nicht?

Geht schon, musst du aber mit einzelnen Pixeln selber zusammenbauen.

von MWS (Gast)


Lesenswert?

mue-c schrieb:
> Geht schon, musst du aber mit einzelnen Pixeln selber zusammenbauen.

Link dazu hab' ich doch oben gepostet, der TE muss es halt auch 
wahrnehmen können.

von Sebastian (Gast)


Lesenswert?

Ok, ich habs jetzt verstanden, danke für eure Hilfe!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.