Software > Coding
>PURE C: Eiffel LCD Programmierung
matashen:
aber die utils hast du ?
http://didierm.pagesperso-orange.fr/files/pic_dev.zip
den Assembler von Mircochip schon versucht?
Ektus:
--- Zitat von: matashen am Sa 20.08.2011, 21:49:57 ---aber die utils hast du ?
http://didierm.pagesperso-orange.fr/files/pic_dev.zip
--- Ende Zitat ---
Ja klar, damit habe ich es ja assemblert.
--- Zitat von: matashen am Sa 20.08.2011, 21:49:57 ---den Assembler von Mircochip schon versucht?
--- Ende Zitat ---
Nein.
http://dhs.nu/bbs-ct60/index.php?request=12453
Demnach scheint es ein Platzproblem zu geben. Die Init-Sequenz wird zwar nur um wenige Instruktionen länger, aber das scheint schon zu viel zu sein :(
Ich suche noch nach Möglichkeiten, wo ich Code weglassen kann, den ich nicht brauche (Lüftersteuerung, Joystick 2, was weiß ich), aber das muß dann auch noch in der gleichen Codepage liegen. Dieser PIC scheint sehr komplex zu programmieren zu sein, wenn man mehr als "hello world" und ein paar 100 Instruktionen braucht :(
Ektus.
matashen:
also eigentlich ist der PIC easy zu programmieren, beim eiffel ist nur ewig viel in den kleinen PIC gequetscht.
Ektus:
Ich habe einen neuen Versuch gestartet und konnte das Programm jetzt erfolgreich assemblieren. Dazu mußte ich etwas Platz schaffen.
Zeilen 5025 bis 5030 auskommentieren (Ausgabe des "+" und "-" für den Lüfter auf das LCD):
--- Code: ---; call SendCHAR
; movlw ' '
; call SendCHAR
; movlw '-'
; btfsc PORTC,MOTORON
; movlw '+'
--- Ende Code ---
Neues Unterprogramm vor Init_LCD:
--- Code: ---Mode_4bit
bcf STATUS,C
movlw 0x02; mode 4 bits
call NybbleOut
Delay 60
returm
--- Ende Code ---
Die vier Befehle standen bisher dreimal hintereinander in Init_LCD. Das habe ich durch drei Aufrufe des Unterprogramms ersetzt und hoffe, daß es keinen Stacküberlauf gibt.
--- Code: --- ;neu ektus
; bcf STATUS,C
; movlw 0x02; mode 4 bits
; call NybbleOut
; Delay 60
; bcf STATUS,C
; movlw 0x02; mode 4 bits
; call NybbleOut
; Delay 60
; bcf STATUS,C
; movlw 0x02; mode 4 bits
; call NybbleOut
; Delay 60
call Mode_4bit
call Mode_4bit
call Mode_4bit
;neu ende
--- Ende Code ---
Das Eiffel Interface läuft nach dem Programmieren mit der so geänderten Firmware noch, nur das beleuchtete LCD hustet mir was. Nach dem Anstecken im laufenden Betrieb zeigt es ein paar wirre Zeichen an, also stimmt der Kontrast. Nach einem Reset des Interface oder Power-Cycle zeigt es nichts mehr an. ???
Ziemlich ratlos
Ektus.
matashen:
setz den delay auf 43 und mach es nicht als Unterprogramm, das Display erwartet die genaue Sequenz und laut Datenblatt das entsprechende Delay. Kann sein das es auf Verzögerung des Signals nicht fertig initialisiert.
Ich würd mir aber an deiner Stelle einfach ein anderes LCD besorgen.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln