Hallo zusammen,
ich habe vor ein paar Tagen das DOGS102-6 von Electronic Assembly in Betrieb genommen. Datenblatt
Jetzt habe ich versucht andere / größere Schriften zu verwenden, dies ist mir allerdings nicht gelungen.
Momentan kann ich von den Bascom Schriften nur die Font8x8tt.font benutzen.
Sobald ich eine andere Schrift wie Font8x8.font oder Font16x16.font mit $include "xxx" lade, läuft meine Software nicht weiter.
Hat jemand schon ähnliche Probleme gehabt oder eine brauchbare Lösung?
Momentan mit nem ATmega8 auf dem STK500 aufgebaut.
Habe mir die LIB glcdEADOGM128 in der Initialisierung angepasst und eingebunden.
Danke für Antworten, schönes WE.
MfG
EalgeStar
never touch a running system [-X
Servus MagicWSmoke,
danke für die Info, das hat mich jetzt schon mal weiter gebracht.
Allerdings wird die Schrift nicht richtig angezeigt.
Die Software läuft jetzt und aktualisiert auch den LCD in ungefähr dem richtigen bereich.
Die Zeichen sind ziehmlich verwürfelt, hab ein Bild angehängt.
MfG
EagleStar
never touch a running system [-X
Wo kommt der Font her, ist der passend für dieses Display ? Sieht so aus, als ob die Größendefinition der einzelnen Buchstaben nicht übernommen wird.
Du solltest Code und in diesem Fall auch den Font anhängen, sonst wird's schwierig. Man kann den Fehler nicht jedes Mal erraten
Servus,
ich vermute auch das die Schriftzeichen irgendwie halbiert sind...
Die Schrift ist die Font16x16.font aus Bascom/SAMPLES/LCDGRAPH.
Hoffe das dir noch was auffällt
MfG
EagleStar
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
$framesize = 298
$swstack = 256
$hwstack = 256
Config Portc = Input
Btn0 Alias Pinc.0
Btn1 Alias Pinc.1
Btn2 Alias Pinc.2
Btn3 Alias Pinc.3
$lib "glcdEADOGS102.lbx"
Config Graphlcd = 128 * 64eadogm , Cs1 = Portb.4 , A0 = Portb.1 , Si = Portb.3 , Sclk = Portb.5 , Rst = Portb.0
Initlcd
Wait 1
Setfont Font16x16
Cls
Lcdat 2 , 5 , "Start!"
Do
Debounce Btn0 , 0 , Btn0_isr , Sub
Debounce Btn1 , 0 , Btn1_isr , Sub
Debounce Btn2 , 0 , Btn2_isr , Sub
Debounce Btn3 , 0 , Btn3_isr , Sub
Loop
End
Btn0_isr:
Cls
Lcdat 1 , 1 , "Taste 1"
Return
Btn1_isr:
Cls
Lcdat 1 , 1 , "Taste 2"
Return
Btn2_isr:
Cls
Lcdat 1 , 1 , "Taste 3"
Return
Btn3_isr:
Cls
Lcdat 1 , 1 , "Taste 4"
Return
$include "Font16x16.font"
'$include "Font8x8tt.font"
never touch a running system [-X
Ich nochmal
Hab grad gelesen in Bascom Help:
Die FOntfile enthält am Anfang folgendes:The third line contains 4 bytes: 1 (height in bytes of the font) , 8 (width in pixels of the font), 8 (block size of the font) and a 0 which was not used before the 'truetype' support, but used for aligning the data in memory. This because AVR object code is a word long.
Was bedeutet denn nun diese "Blocksize" die in der Schrift auf 32 steht?Font16x16:
$asm
.db 2 , 16 , 32 , 0
MfG
EagleStar
never touch a running system [-X
2 = 2 x 8 Pixel hochCode:.db 2 , 16 , 32 , 0
16 = 16 Pixel breit
32 = Anzahl der Bytes für ein Zeichen im Font
Einfach mal die Nullen in der ersten Zeichen-Zeile zählen.
Edit:
Wo kommt den die glcdEADOGS102.lbx her ?
Die ist nicht im Lib-Verzeichnis zu finden. Evtl. ist die fest auf 'ne gewisse Fontgröße fest eingestellt, dann wird der Font nicht akzeptiert, denn genauso sieht das Bild aus.
Geändert von MagicWSmoke (11.03.2012 um 19:01 Uhr)
Gibts hier verschiedene Codierungen, das da vielleicht irgendwas nicht stimmt?
never touch a running system [-X
Der Font muss natürlich zum Treiber passen.
Mich würde die genaue Zeichenkette interessieren, die zum oben gezeigten Bild führte.
Auf dein Edit:
Die glcdDOGS102.lbx ist eine Kopie der glcddogm128x6.lbx mit einem verändertem Kontrastwert.
Die Initialisierung sieht folgendermaßen aus:
Kann es sein, dass die Software immer an eine falsche Stelle in der Schrift springt und daher diese halbierten Zeichen kommen?.db &HE2 , &H40 , &HA1 , &HC0 , &HA6 , &HA2 , &H2F , &HF8 , &H00 , &H27 , &H81 , &H05 , &HAC , &H00 , &HAF
never touch a running system [-X
Lesezeichen