-
-
Displayfehler mit rn- lcd
Hallo..
ich hab ein Problem:
bau grad eine menüsteuerung mit rn control und lcd.
eigentlich funktioniert alles gut, aber es kommt manchmal zu unerklärlichen fehlern: text wird nicht ausgegeben, komische Zeichen erscheinen..
solche kleinen sachen lassen sich meist mit:
lcd_clr
waitms 25
schreibe " text"
lösen, also mit ner kleinen pause aber manchmal hilft das auch nix.. dazu kommt noch, das das prog etwas größer wird vieleicht so 2000 zeilen oder so.
kann das an zu kleinen speichereinstellungen liegen, hab ich mal gelesen:
$hwstack = 40
$framesize = 40
$swstack = 40
ich hab einen mega32..
dankeschön!
-
Erfahrener Benutzer
Robotik Einstein
Hallo,
arbeitest du mit Interrupts, in denen evtl. sogar auch noch Texte ans LCD gesendet werden ?
Dann könnte es sein das sich die Befehle überschneiden !
Ob die Werte für die Stacks, reichen kann man aus der Ferne schlecht sagen, aber zu klein sind die zumindest nicht, für den Anfang sollte es reichen.
-
joo, hab interrupts,
aber die sin doch eigentlich ausgeschalten..hmm,
ich werd sie ma auskommentieren, obs dann besser is
danke erstmal
-
hallo,
disable von timern und interrupts hilft nix
hängt das viel. damit zusammen:
habe mal zu testzwecken leds aufn board blinken lassen, aber eigentlich hab ich das ausm prog entfernt..denkich
aber die leds blinken immernoch, schon die ganze zeit, wennich ein prog neu aufspiel.. echt komisch..
muss nochma meinen code durchschaun..
-
wenn ich diese zeilen raus nehm, leuchten die leds nicht mehr,
aber die braucht man scheinbar für den iic bus um das display anzusteuern
Config Scl = Portc.0
Config Sda = Portc.1
aber es sind genau die 2 leuchtenden leds
versteh nicht, was die mit dem iic bus zutun haben sollen...
hatte jemand auch schonmal sowas?
fürn kleinen tip währ ich echt dankbar!
-
ich nochma:
das sind doch zwei leitungen für den iic bus, aber warum liegen die auf port c,
leuchten die leds weil dort signale laufen?
ganz viele fragen tun sich auf
-
Erfahrener Benutzer
Robotik Einstein
Lass dich von den LEDs nicht verwirren, das RN-Control hat einen Mega32 drauf, und die I2C-Pins sind auf PortC.0 und 1. Deshalb blinken die, wenn dort was übertragen wird.
Du kannst ja die ersten zwei Dipschalter umlegen, dann sieht man es nicht mehr blinken 
Zu den Interrupts, die stören hier nur, wenn Du in der ISR einen LCD-Befehl verwendest.
Du kannst ja noch etwas mehr zu Deinem Aufbau erzählen, so kommt man nicht recht weiter.
-
hallo,
ich stör mich jetzt nicht mehr am blinken
hab alles mit interrupts auskommentiert und es ändert sich nixz..
hab int0 verwendet..und keine display befehle in den ISP routinen...
wenn man einen timer0 noch benutzt, zählt dann die überlauf routine auch als interrupt, wenn man nebenbei ne led blinken lassen will und muss dann interrupts global einschalten? das könnte ja dann stören ..
vielleicht arbeite ich einfach zu schnell für das arme display und ich muss immer waitms 20 dazwischen tun.. aber manchmal kann man nichmal ein wort ausgeben... und immer waitms 20 nervt dann.. is auch nichts anständiges, weil es ja dann wieder rumspinnen könnte irgendwann anders..
aber danke für die antwort
-
hallo,
kann das sein, dass meine senderoutinen zum lcd nich optimal sind
ich schick sie hier mal
hab leider immernochnich den button für quelltext einfügen gesehn)
Sub Lcd_cursor(byval Spalte As Byte , Byval Zeile As Byte)
Local Befehle As String * 4
Befehle = Chr(27) + Chr(79) + Chr(spalte) + Chr(zeile)
I2csend Rnkeylcd_slaveid_write , Befehle , 4
End Sub
'-----------------------------------------------------------------------------
Sub Lcd_clr()
Local Befehle As String * 2
Befehle = Chr(12)
I2csend Rnkeylcd_slaveid_write , Befehle , 1
End Sub
'-----------------------------------------------------------------------------
Sub Schreibe(byval Text As String) 'Print
Local Le As Word
Le = Len(text)
I2csend Rnkeylcd_slaveid_write , Text , Le
End Sub
die lcd anzeige spinnt vollig rum..
wenn ich einen bildschirm dialog fertig hab, was anders äder, dann kann es sein, das sonstwo der bildschirm nicht geht...
kann da jemand helfen, bin echt am verzweifeln, weilich ne richtige menüführung geschrieben hab, die massich groß ist und das sooo nervig is..
danke
-
Erfahrener Benutzer
Robotik Einstein
Was hast Du eigentlich für ein LCD ? Von I2C hast Du am Anfang noch nix geschrieben !
Lässt Du das mit TWI oder Soft-I2C übertragen ?
Der Button für Code darstellen heisst "Code", und ist direkt oberhalb des Eingabefeldes, mit einem Haufen anderer Buttons. Wenn der Quelltext schon drinsteht, diesen einfach markieren, und auf den Code-Button klicken, schon sind die Tags hinten und vorne eingebaut.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen