Hast Du Deinen MC denn intern auch auf 4Mhz gefused ?
Und Du bist Dir sicher, dass die 6 Leitungen in korrekter Reihenfolge an den richtigen Portpins liegen ?
Druckbare Version
Hast Du Deinen MC denn intern auch auf 4Mhz gefused ?
Und Du bist Dir sicher, dass die 6 Leitungen in korrekter Reihenfolge an den richtigen Portpins liegen ?
also ich habe die E und RS leitungen vertauscht 8-[ ....jetzt tut sich gar nichts mehr am display! am ende des programmes habe ich noch eine LED angeschlossen, die wie erwartet nach 2 sekunden leuchtet, das heisst dass das programm am ende ist und auch der takt stimmt (würde die led nicht nach 2 sekunden leuchten wär was falsch)
mein code schaut so aus:
Code:$regfile = "m48def.dat"
$crystal = 4000000
$baud = 9600
Config Portc = Output 'PORTC als Ausgang definieren
Config Portb = Output 'PORTB als Ausgang definieren
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2
Initlcd
Waitms 1000
Cursor Off
Cls
Enable Interrupts
Display On
Locate 1 , 1
Lcd "1234"
Locate 2 , 1
Lcd "4321"
Waitms 1000
sbi portb,1
End
...nochmal die Frage, ob der Takt richtig gefused ist...ansonsten funktioniert`s nämlich nicht !
ja klar, sonst würd ja meine kontroll led am ende des programmes nach 2 sekunden nicht leuchten! (2* "waitms 1000" im programm)
CKSEL0 und CKSEL 1 sind angekreuzt. also CKSEL3...0 = 1100
das heisst dass beim Low Power Crystal Oscillator den bereich 3.0- 8.00 MHz gewählt ist...und ich hab n resonator dran, mit 4 MHz.
Du sagst, du hast das Display im 4-Bit Modus angeschlossen?
muss da nicht ein
" Config Lcdbus = 4"
nach "Config LCDPin ?
WICHTIG: dein controller darf NIE das END erreichen!!!! das ist ein undefinierter zustand ... am ende immer ne endlose schliefe machen
füge VOR dem ersten init doch ne mind. 32 ms lange pause ein bitte .. am besten 1000, wie du es schon zwischen den initialisierungen gemacht hast
möglich dass dein controller am ende des programm irgenwelche undefinierbaren zustände am ausgang hat, wenn er ins END geht, die dein display nochmals löschen
sry ich verwende C, kein bascom, ich arbeite da wesentlicher elementarer, vielleicht ist die zugrunde liegende bibliothek nicht ganz angepasst
nach einem schaden klingt es nicht direkt aber ich würde es nicht ausschliessen
ja danke, habs auch grad gesehen als die seite vorhin überlastet war und ich mal bei rn- wissen über lcd's gelesen habe! ist schon komisch dass dieser befehl in bascom nicht aufgeführt ist, bei der beschreibung wie man so ein ding in betrieb nimmt :-k
aber nun denn...er steht..uuuund....es geht immernoch nicht :(
also hier mein code:
Code:$regfile = "m48def.dat"
$crystal = 4000000
$baud = 9600
Config Portc = Output 'PORTC als Ausgang definieren
Config Portb = Output 'PORTB als Ausgang definieren
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcdbus = 4
Config Lcd = 16 * 2
Initlcd
Waitms 1000
Enable Interrupts
Cls
Locate 1 , 1
Lcd "1234"
Waitms 1000
sbi portb,1
End
kann mir jemand ein quellcode schikcne, von dem er denkt er würde gehen? ich hab die leitungen alle mit dem multimeter ausgemessen, da stimmt also alles, kontrastabgleich geht auch, also ich weiss echt nicht an was es noch liegen könnte! muss man irgend eine libary inportieren oder wie siehts aus??
würde mich freuen wenn das endlich mal funktioniert :(
mfg
aykay
Über den Hinweis von Ceos habe ich beim lesen dieses Threads auch schon mal nachgedacht - wieso lässt Du den Controller am Schluss ins Leere laufen?
Hast Du´s schon mal mit einer Do-Loop-Schleife probiert, in der z.B. alle 100ms das LCD angesteuert wird?
(kann ja wohl nicht sein, dass das dermaßen hartnäckig nicht geht, oder??...)
Probier mal folgenden Code, echt merkwürdig!
[IronieON]Code:$regfile = "m48def.dat"
$crystal = 4000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40
Config Portc = Output 'PORTC als Ausgang definieren
Config Portb = Output 'PORTB als Ausgang definieren
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcdbus = 4
Initlcd
Waitms 1000
Cls
Do
Locate 1 , 1
Lcd "TEST123"
toggle portb.1
Waitms 1000
loop
End
Hast du vielleicht einen Kettenbrief nicht weitergeleitet und hast deshalb 7 Jahre lang Pech oder sowas?
[IronieOFF] :-s 8-[