PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom will keine Variablen auf dem LCD anzeigen



Max Hinze
11.11.2010, 20:32
Hallo erstmal,

ich brauche hilfe von euch. Für mein aktuelles Projekt will ich das LCD Modul C0802-04 von pollin ( http://www.pollin.de/shop/dt/NzczOTc4OTk-/Bauelemente/Aktive_Bauelemente/Displays/LCD_Modul_C0802_04.html )

Ob alles richtig verbunden ist habe ich schon mehrfach mit einem durchgangsprüfer kontrolliert.

Naja und ich weiß auch das Bascom nich direkt 8 x 2 LCDs unterstützt. Im programm habe ich jetzt schon verschiedene LCD configurationen vversucht ( 16 * 2 und 16 * 1a ).
Manchmal zeigt es kryptische zeichen, manchmal die obere zeile schwarz und manchmal garnichts an. Hab ich ein Wackelkontakt? oder liegts an meinem programm???


$regfile = "m8def.dat"

$crystal = 8000000





Config Portb.2 = Output



Status Alias Portb.2



Config Portb.0 = Output

Config Portd.3 = Output

Config Portd.4 = Output

Config Portd.5 = Output

Config Portd.6 = Output

Config Portd.7 = Output





Config Lcdpin = Pin , Rs = Portb.0 , E = Portd.3 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7



Config Lcd = 16 * 2



Cls



Wait 2



Do



Toggle Status



Wait 1



Locate 1 , 1 : Lcd "hallo"



Loop

End


ich hoffe ihr könnt mir irgendwie helfen.

Gruß Max

danke schon im vorraus

for_ro
11.11.2010, 21:25
Hallo Max,
wenn die obere Zeile schwarz ist, dann hat die Initialisierung nicht funktioniert. Da kann man wenig aussagen.
Wenn du kryptische Zeichen bekommst, dann geht da schon eher was.
Dann ist das Display initialisiert, nur die Zeichen kommen anders als du denkst.
Zeig doch mal, welches Ergebnis kommt, wenn du sowas wie 12345678 oder abcdefgh darstellen willst.
Hast du eigentlich RW auf GND gelegt oder hängt die in der Luft.

Andree-HB
12.11.2010, 06:00
...genau, setze ein "Initlcd" nach Deiner LCD-Konfig...dann schau` mal weiter...

Max Hinze
12.11.2010, 16:34
danke :D

mit initlcd läufts ohne probleme :)

Gruß Max

Max Hinze
13.11.2010, 14:57
Ok jetzt hab ich ein neues problem:

Wenn ich variablen oder messwerte auf dem LCD anzeigen will dann bekomm ich die fehlermeldungen:


Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '=' [_XMEGA=0]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '' [_XMEGA]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas
Error : 222 Line : 36 Illegal character [expected (, got '=' [_XMEGA=0]] , in File : C:\Programme\MCS Electronics\BASCOM-AVR\Eigene Programme\gleitzeitrechner\LCD Test.bas

Hier das Programm um die adc werte anzuzeigen:


$regfile = "m8def.dat"
$crystal = 8000000

Config Portb.2 = Output

Status Alias Portb.2

Config Portb.0 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output

Config Adc = Single , Prescaler = Auto , Reference = Aref
Start Adc


Config Lcdpin = Pin , Rs = Portb.0 , E = Portd.3 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7

Config Lcd = 16 * 2

Initlcd

Cls

Status = 1

Do

Locate 1 , 1 : Lcd Getadc(7)

Wait 1

Loop
End

Ich hab kein plan mehr...ich hoffe ihr könnt mir wiedermal helfen

Gruß max

stefan_Z
13.11.2010, 15:32
Locate 1 , 1 : Lcd Getadc(7)

muss du so schreiben:

Locate 1 , 1
Lcd Getadc(7)

ist jeweis ein eigener Befehl!

for_ro
13.11.2010, 16:13
Bei mir kompiliert das ohne Fehler.
Welche Bascom Version benutzt du? Was hast du in den Options eingetragen?

Das hier
Locate 1 , 1 : Lcd Getadc(7)
ist syntaktisch vollkommen ok. Der : wirkt wie ein <CR>, im Gegensatz zu einem ;
ich würde allerdings den Wert des ADC erst einmal einer Variablen zuweisen und dann in den LCD Befehl geben, also so

W = GetADC(7)
LCD W

Max Hinze
13.11.2010, 16:50
Ich benutz die Version 1.11.9.8

welche Options meinst du genau???

mich wundert das auch das das nicht funktioniert. Bis jetzt hat es bei mir immer mit allen LCDs geklappt. :-k


Gruß Max

for_ro
13.11.2010, 17:46
In der 1.11.9.8 kompiliert er auch ohne Fehler.
Und wenn ich in den Options rumspiele schaffe ich es nicht, solche Fehlermeldungen zu bekommen.
Benutzt du die Demo Version?

Max Hinze
13.11.2010, 22:49
Ich hab auch mal ein bisschen mit den Optionen rumgespielt. Bei mir ändert sich auch nicht.
Nein ich benutze die Vollversion. Morgen werd ich sie mal neu installieren vielleicht funktioniert es dann

Gruß Max

hardware.bas
13.11.2010, 23:02
Hatte auch schon öfters Probleme, dass trotz der syntaktisch eigentlich
korrekten Trennung mit ":" ab und zu einige Befehle nicht laufen.
Bin jetzt dazu übergegangen, möglichst jedem neuen Befehl eine
neue Zeile zu geben. Geschmackssache, hab jedoch keine Lust, hier
Tiefenprüfung zu betreiben. VG Micha

Max Hinze
14.11.2010, 11:30
So hab mir jetzt einfach mal zum probieren die demoversion installiert....und siehe da es läuft

gruß Max

Max Hinze
14.11.2010, 11:45
so jetzt hab ich die vollversion auch neu installiert und da klappts jetzt auch...

gruß Max