PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit der Lcd-ansteuerung



Jojo12
15.09.2007, 17:58
Hallo
ich hab ein Problem mit dem Display DISPLAYTECH 162B (2x16 Zeichen). Ich verwende einen PIC16F627A mit 4Mhz taktfrequenz. Den Code hab ich von einem sprutbeispiel abgeändert. Bei dem "PIC Simulator IDE" hab ich das ausprobiert, hat super geklappt. Nachdem ich die Firmware auf den Mikrocontroller übertragen hatte, hat er nur auf den 2-Zeilenmodus umgeschaltet, dann war schluss. Am Kontrast liegt es glaub ich nicht, aber wenn man den Kontrast voll aufdreht (Vo = Gnd), ist dann die Anzeige immer so schwach im 2-Zeilenmodus.

Hier ist der Code:


list p=16f627
;************************************************* *************
;* Pinbelegung
;* ----------------------------------
;* PORTA: 0 -
;* 1 -
;* 2 -
;* 3 -
;* 4 -
;* PORTB: 0 LCD Display E
;* 1
;* 2 LCD Display RS
;* 3 LCD Display R/W
;* 4-7 LCD Display D4 .. D7
;************************************************* *************

#include <P16f627.INC>

; Configuration festlegen
; bis 4 MHz: Power on Timer, kein Watchdog, XT-Oscillator

__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

;************************************************* *************
; Variablen festlegen

w_copy Equ 0x20
s_copy Equ 0x21
LcdDaten Equ 0x22
LcdStatus Equ 0x23
loops EQU 0x24
loops2 EQU 0x25

; Constanten festlegen

PORTC equ PORTB ; LCD-Control-Port
PORTD equ PORTB ; LCD-Daten-Port
LcdE equ 0 ; enable Lcd
LcdRw equ 3 ; read Lcd
LcdRs equ 2 ; Daten Lcd (nicht control)
Ini_con Equ B'00000000' ; TMR0 -> Intetupt disable
Ini_opt Equ B'00000010' ; pull-up

;************************************************* *******
; Das Programm beginnt mit der Initialisierung

Init bsf STATUS, RP0 ; Bank 1
movlw Ini_opt ; pull-up on
movwf OPTION_REG
movlw B'00000000' ; RA0 .. RA2 outputs, RA3, RA4 input
movwf TRISA ;
movlw B'00000000' ; PortB alle outputs
movwf TRISB
bcf STATUS, RP0 ; Bank 0
clrf PORTA
clrf PORTB
bsf CMCON, CM0
bsf CMCON, CM1
bsf CMCON, CM2

movlw Ini_con ; Interupt disable
movwf INTCON

call InitLCD ; Display initialisieren

; am LCD "Hallo" ausgeben

movlw 'H'
movwf LcdDaten
call OutLcdDaten
movlw 'a'
movwf LcdDaten
call OutLcdDaten
movlw 'l'
movwf LcdDaten
call OutLcdDaten
movlw 'l'
movwf LcdDaten
call OutLcdDaten
movlw 'o'
movwf LcdDaten
call OutLcdDaten
movlw ','
movwf LcdDaten
call OutLcdDaten
movlw 'W'
movwf LcdDaten
call OutLcdDaten
movlw 'i'
movwf LcdDaten
call OutLcdDaten
movlw 'e'
movwf LcdDaten
call OutLcdDaten
movlw ' '
movwf LcdDaten
call OutLcdDaten
movlw 'g'
movwf LcdDaten
call OutLcdDaten
movlw 'e'
movwf LcdDaten
call OutLcdDaten
movlw 'h'
movwf LcdDaten
call OutLcdDaten
movlw 't'
movwf LcdDaten
call OutLcdDaten
movlw 's'
movwf LcdDaten
call OutLcdDaten
movlw '?'
movwf LcdDaten
call OutLcdDaten

movlw B'11000000'
call OutLcdControl

movlw 'g'
movwf LcdDaten
call OutLcdDaten
movlw 'u'
movwf LcdDaten
call OutLcdDaten
movlw 't'
movwf LcdDaten
call OutLcdDaten
movlw ' '
movwf LcdDaten
call OutLcdDaten
movlw 'o'
movwf LcdDaten
call OutLcdDaten
movlw 'd'
movwf LcdDaten
call OutLcdDaten
movlw 'e'
movwf LcdDaten
call OutLcdDaten
movlw 'r'
movwf LcdDaten
call OutLcdDaten
movlw ' '
movwf LcdDaten
call OutLcdDaten
movlw 's'
movwf LcdDaten
call OutLcdDaten
movlw 'c'
movwf LcdDaten
call OutLcdDaten
movlw 'h'
movwf LcdDaten
call OutLcdDaten
movlw 'l'
movwf LcdDaten
call OutLcdDaten
movlw 'e'
movwf LcdDaten
call OutLcdDaten
movlw 'c'
movwf LcdDaten
call OutLcdDaten
movlw 'h'
movwf LcdDaten
call OutLcdDaten
movlw 't'
movwf LcdDaten
call OutLcdDaten

sleep
Main
goto Main

;************************************************* ****************
;Zeitverzögerung um loops * 1 ms
; 4MHz externer Takt bedeutet 1MHz interner Takt
; also dauert 1 ms genau 1000 Befehle
; 110 Schleifen a 9 Befehle sind 990 Befehle = 0.99 ms
; die restlichen 10 Befehle für Einsprung und Rücksprung

WAIT
top movlw .110 ; timing adjustment variable (1ms)
movwf loops2
top2 nop ; sit and wait
nop
nop
nop
nop
nop
decfsz loops2, F ; inner loops complete?
goto top2 ; no, go again
;
decfsz loops, F ; outer loops complete?
goto top ; no, go again
retlw 0 ; yes, return from subWAIT

;************************************************* *********
; Initialisierung des LCD-Displays

InitLCD
movlw D'255' ; 250 ms Pause nach dem Einschalten
movwf loops
call WAIT

movlw B'00110000' ; 1
movwf PORTB
bsf PORTB, LcdE
nop
bcf PORTB, LcdE

movlw D'50' ; 50 ms Pause
movwf loops
call WAIT

movlw B'00110000' ; 2
call Control8Bit
movlw B'00110000' ; 3
call Control8Bit
movlw B'00100000' ; 4
call Control8Bit


movlw B'00101000' ; 5 function set, 4-bit 2-zeilig, 5x7
call OutLcdControl
movlw B'00001111' ; 6 display off/on
call OutLcdControl
movlw B'00000001' ; Display clear
call OutLcdControl
movlw B'00000110' ; 7 entry mode, increment, disable display-shift
call OutLcdControl
return

; ein Steuerbyte 8-bittig übertragen
Control8Bit
movwf PORTB
bsf PORTB, LcdE
nop
bcf PORTB, LcdE
movlw D'10'
movwf loops
call WAIT
return

; darauf warten, daß das Display bereit zur Datenannahme ist
LcdBusy
bsf STATUS, RP0 ; make Port B4..7 input
movlw B'11110000'
movwf TRISB
bcf STATUS, RP0
BusyLoop
bcf PORTC, LcdRs
bsf PORTC, LcdRw ; Lesen
bsf PORTC, LcdE
nop
movf PORTD, 0
movwf LcdStatus
bcf PORTC, LcdE
nop
bsf PORTC, LcdE ; Enable
nop
bcf PORTC, LcdE
btfsc LcdStatus, 7 ; teste bit 7
goto BusyLoop
bcf PORTC, LcdRw
bsf STATUS, RP0 ; make Port B4..7 output
movlw B'00000000'
movwf TRISB
bcf STATUS, RP0

return

; ein Byte mit Steuerdaten von LcdDaten zum Display übertragen
OutLcdControl
movwf LcdDaten
call LcdBusy
movf LcdDaten, w
andlw H'F0'
movwf PORTD ; Hi-teil Daten schreiben
bsf PORTC, LcdE
nop
bcf PORTC, LcdE ; Disable LcdBus
swapf LcdDaten, w
andlw H'F0'
movwf PORTD ; Lo-teil Daten schreiben
bsf PORTC, LcdE
nop
bcf PORTC, LcdE ; Disable LcdBus
return

; ein Datenbyte von LCDDaten zum Display übertragen
OutLcdDaten
bsf PORTA, 2 ; Test LED 2 on
movwf LcdDaten
call LcdBusy
movf LcdDaten, w
andlw H'F0'
movwf PORTD ; Hi-teil Daten schreiben
bsf PORTC, LcdRs ; Daten
bsf PORTC, LcdE ; Enable LcdBus
nop
bcf PORTC, LcdE ; Disable LcdBus
swapf LcdDaten, w
andlw H'F0'
movwf PORTD ; Lo-teil Daten schreiben
bsf PORTC, LcdRs ; Daten
bsf PORTC, LcdE
nop
bcf PORTC, LcdE ; Disable LcdBus
bcf PORTC, LcdRs ;
bcf PORTA, 2 ; Test LED 2 on
return

end

Danke schon mal im voraus.

robotcheck
16.09.2007, 14:01
Hallo,

bin mal über die Programmzeilen geflogen.
Einen echten Fehler konnte ich auf die Schnelle nicht finden.

Warum sind die Pull-Ups an PortB aktiviert?
Weder der PIC, noch das Display arbeiten mit einem "Offenen Kollektor".

Schrittweise vorgehen:
1.
Halte das Programm nach der Initialisierung des Dipslays an (Endlos-Schleife).
Der Cursor ist auf "Sichtbar" und "Blinken" eingestellt.
Wenn die Initialisierung sauber durchläuft, dann müsste der Cursor oben links blinken. Dann weißt Du, dass das Display die Daten annimmt.

2.
Benutze während der gesamten Initialisierungsphase NICHT das Busy-Flag , sondern die Zeitverzögerung. Sollte es damit funktionieren, dann liegt der Fehler wahrscheinlich irgendwo am Busy-Flag.

Viel Glück

Jojo12
16.09.2007, 17:26
Danke für den Beitrag,
es tut sich aber leider immer noch nichts. Es scheint aber was mit dem Busy-Flag zutun zu haben, denn nachdem ich die Zeitverzögerung (2ms) genommen hab, lief er das ganze programm durch (überprüft mit einer LED). Der Mikrocontroller schaltet aber lediglich auf 2-zeilig um, sonst macht er nichts. Wenn er aber im1-zeiligen Modus arbeiten soll, macht er das auch nicht.

Sind die schwarzen Vierecke auf dem Display eigentlich immer so schwach im 2zeilenmodus, wenn man den Kontrast voll aufdreht?

MichaelM
16.09.2007, 18:46
Hallo,
wenn das Display initialisiert ist, sollte man die Rechtecke garnicht sehen, sonst ist der Kontrast zu stark.

InitD bcf RSd ; Befehlsregister
bcf RWd ; Schreibzugriff
bsf STATUS,RP0
clrf TRISD
bcf STATUS,RP0
movlw 30h
movwf daten
bsf E1d
nop
bcf E1d
movlw 2Ah ; Warteschleife 10 msec.3f
movwf wa1
war1 movlw 0ffh
movwf wa2
war2 decfsz wa2,1
goto war2
decfsz wa1,1
goto war1
movlw 30h
movwf daten
bsf E1d
nop
bcf E1d
movlw 0ffh ; Warteschleife 100 mmsec.
movwf wa1
war3 decfsz wa1,1
goto war3
movlw 0fh ; Page1 unten
movwf PCLATH
movlw 30h
call befA
movlw 38h ; mehrzeiliges Display
call befA
movlw 1h ; Anzeige löschen
call befA
movlw 2h ; Cursor an Addresse 0
call befA
movlw 6h ; Entry Mode Set
call befA
movlw 0ch ; Anzeige an
call befA

So habe ich immer meine Displays initialisiert (8bit Modus). Das Unterprogramm befA lädt nur den Wert aus W in den Port und prüft das Busyflag.

Gruß,
Michael

Jojo12
17.09.2007, 15:47
Hallo
@MichaelM
ich hab den Code mal eingesetzt. Leider tut sich immer noch nichts. Er springt aber wieder nur auf 2zeilig um. Wo bleibt eigentlich bei dir die 15msec wartezeit? Geht es auch ohne und könntest du auch nochmal das Unterprogramm befA (mit busy-flag-unterprogramm, wenn es noch extra ist, oder schreib alles rein, dann muss es ja klappen, oder?) zeigen, denn ich denke das dort bei mir der Fehler liegt.

Gruß Johann

MichaelM
17.09.2007, 19:32
Hallo,
ich habe mal gekramt und ein nicht allzugroßes Programm mit dem 16F628 und zweizeiligem Display gefunden. Es liest den code einer Universalfernbedienung ein (RC5-Code) und stellt ihn im Display sowohl binär als auch hexadezimal dar. Durch die Zeitangaben im Programm nicht verwirren lassen, die beziehen sich auf 20MHz, der Controller läuft aber nur mit 4MHz, langsamer geht immer. Die Verzögerung ist auf grund meiner Stromversorgung nötig, grundsätzlich aber günstig.
Gruß,
Micheal

Jojo12
19.09.2007, 15:55
Hallo,
leider klappts bei mir immer noch nicht.
In der Hardware scheint auch kein Fehler zu sein, soweit ich das erkennen kann. I
ch hab aber auch ein ähnliches Problem bei einer Servosteuerung. Bei meinem Servo (Graupner, C677) tut sich nämlich auch nichts. Die Firmware ist ganz einfach:

PWM
Ein bsf PORTA,4

movlw 5h ; Warteschleife ca.1 msec
movwf wa1
warten1 movlw 0ffh
movwf wa2
wartan2 decfsz wa2,1
goto warten2
decfsz wa1,1
goto warten1
clrf wa1
clrf wa2

Aus bcf PORTA,4
movlw 50h ; Warteschleife 12 msec
movwf wa1
warten11 movlw 0ffh
movwf wa2
warten21 decfsz wa2,1
goto warten21
decfsz wa1,1
goto warten11
clrf wa1
clrf wa2

goto PWM

Das klappt bei mir auch nicht (4Mhz). Ich bin ja noch nicht so lange dabei mit PICs zu programmieren, das sollte aber eigentlich klappen.
Kann eigentlich das Display von anfangan kaputt sein, denn das display ist (fast) neu.

MichaelM
19.09.2007, 17:24
Hallo,
1. hast du den Pin auf Ausgang geschalten? TRISA.4=0
2. hast du einen Pullup-Widerstand am Pin? A.4 ist nämlich ein Pin mit open Kollektor Ausgang, d. h. er kann nur Strom ziehen aber keinen liefern.
Bei den anderen Pins des Port A sind die Komparatoren aktiviert. Beim 16F628 muss dazu ins Register CMCON der Wert 7h geladen werden. Das könnte übrigens auch das Problem mit dem Display sein, wenn du die Steuerleitungen am Port A angeschlossen hast.
Stell am Besten mal dein ganzes Programm rein, geht ganz einfach über "Attachment hinzufügen".
Gruß,
Michael

Jojo12
20.09.2007, 14:02
Hallo,
ich hab den Pin auf Ausgang bei der Servosteuerung. Ich benutze übrigens nur den PIC16F627A. Hier sind die Codes für das Display und für das Servo.
Gruß,
Johann

MichaelM
20.09.2007, 20:47
Hallo,
ich habe mir mal das Programm für das Servo angesehen. Deine erste Warteschleife dauert nicht 1ms sondern 3,85ms, die zweite nicht 12ms sondern 61,5ms (bei 4MHz). Ein Servo braucht 1 bis 2ms (1,5ms für Mitte) und eine Periodendauer von ca. 20ms. Ich habe die Schleifen jetzt mal auf 1,2ms bzw. 18,5ms geändert. Brauchst du wirklich "Low Voltage Programm Enable"? Wenn dein Programmiergerät mit 13V arbeitet (am MCLR-Pin) ist das nicht nötig, ich habe es im config ausgeschalten. Das neue config lautet: XT-Oszillator, ohne Watchdog-Timer, Power-Up-Timer on, Low-Voltage-Programm off, MCLR on, Code-Protect off. Um das Ganze zum Laufen zu bringen brauchst du einen Wiederstand von Pin RA4 nach +5V (ca. 1kOhm sollte gehen). Außerdem muss der MCLR-Pin auf +5V gelegt werden. Falls du auf den Quarz verzichten möchtest und den internen 4MHz-Takt nutzen willst musst du bei config 3f32h (statt 3f21h) eintragen.
Gruß,
Michael

Jojo12
20.09.2007, 21:24
Hallo
vielen Dank das du das durchgeguckt hast. Da muss ich mich wohl ein bisschen geirrt haben :wink: . Das Servo funktioniert jetzt einwandfrei.
Jetzt bleibt nur noch die Frage mit dem Display, warum das nichts macht. Liegt das vielleicht auch an den Ausgängen an PortA, brauchen die auch einen Widerstand? Schließlich sind das ja fast so aufgebaut wie PWM-Signale.
Gruß,
Johann

MichaelM
20.09.2007, 21:31
Hallo,
die restlichen Pins sind ganz "normal". Vielleicht schaue ich mir das morgen mal an.
Gruß,
Michael

Jojo12
21.09.2007, 17:03
Es funktioniert endlich mit deinem Code. Der Fehler lag überhaupt nicht in der Schaltung sondern in der Initialisierung des Microkontrollers. Der interne 4Mhz-Takt klappt bei mir nämlich nicht. Das war ja eingestellt, ich habs umgestellt auf 3f21 und jetzt klappt es wunderbar. Vielen Dank für deine Hilfe.
Gruß,
Johann

MichaelM
21.09.2007, 18:41
Hallo,
meinen Glückwunsch!
Ich wollte mir soeben das Programm für das Display ansehen, hat sich ja dann erledigt.
Weiterhin viel Spaß.
Gruß,
Michel

Sonic111
04.11.2007, 14:12
Hallo Jojo12,

ich habe das gleiche Problem mit einem Displaytech 161A.

Bei der initialisierung schaltet es in den 2-Zeilenmodus, danach passiert nichts mehr...

Beschäftige mich zum ersten Mal mit Displays.

Wo kann man den Takt 3F21 einstellen ? Was muss ich im Source ändern ?

Gruß,
Heiko

MichaelM
04.11.2007, 15:03
Hallo,
3F21 ist der Wert für das Konfigurationswort, damit legt man z. B. fest welchen Oszillator (RC, XT, HS, LP usw.) man verwenden möchte. Entweder stellt man das im Brennprogramm ein oder man gibt es am Anfang im Quelltext mit dem Befehl
__config 3f21h
an. Dabei auf die 2 (!) Unterstriche achten. In MPLAB kann man sich den Wert über Configure > Configuration Bits ansehen.
Gruß,
Michael

Sonic111
04.11.2007, 15:51
Hallo Michael,

danke ! Ich habs ans laufen bekommen.

Hatte auch noch ein paar andere Fehler im Programm.

Jetzt funktionierts aber :-)

Gruß
Heiko

robo-sebi
29.12.2007, 19:16
Hallo,

es liegt bei mir ein ähnliches Problem vor. Ich verwende allerdings einen PIC16F84A und 162C-LCD-Anzeige.

Mein Skript:

list p=16f84
;************************************************* *************
;* Pinbelegung
;* ----------------------------------
;* PORTA: 0 -
;* 1 -
;* 2 -
;* 3 -
;* 4 -
;* PORTB: 0 LCD Display E
;* 1
;* 2 LCD Display RS
;* 3 LCD Display R/W
;* 4-7 LCD Display D4 .. D7
;*
;************************************************* *************
;
;
; LCD-Display
;
; Taktquelle: 4 MHz
;
;************************************************* *************
; Includedatei für den 16F84 einbinden

#include <P16F84A.INC>

; Configuration festlegen
; bis 4 MHz: Power on Timer, kein Watchdog, XT-Oscillator

__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC
;************************************************* *************
; Variablennamen vergeben

loops Equ 0x22 ; Zähler für Warteschleife
loops2 Equ 0x23 ; Zähler für Warteschleife
Daten Equ 0x24
;************************************************* *************
;Ersetzungen:
LcdE equ 0 ; enable Lcd
LcdRw equ 3 ; read Lcd
LcdRs equ 2 ; Daten Lcd (nicht control)




Init:
bsf STATUS,RP0; ->Bank 1
movlw B'00000000'
movwf TRISB;->PortB: alle outputs
bcf STATUS,RP0; ->Bank 0
movwf PORTB;-> alles auf null setzen
call InitLcd;-> initialisieren
;Buchstabe einfuegen
movlw 'H'
bsf PORTB, LcdRs ; auf den Textpuffer schreiben
call Datenreinkopieren; Die Daten werden herein kopiert
bcf PORTB, LcdRs
Main ;Endlosschleife
goto Main
InitLcd
;auf das Ende des internen Resets warten
call Warten
call Warten
call Warten
call Warten
call Warten
call Warten
call Warten
call Warten
call Warten
call Warten
call Warten
;Interface auf 8 bit Eingang setzen
call Achtbitsetzen
call Achtbitsetzen
call Achtbitsetzen
;Interface auf 4-bit Eingang setzen
call Vierbitsetzen
;Interface als zwei zeilig einstellen
call zweizeilig
call Display_aus
call Displayloeschen
call kurser_rechts_shift
call Display_ein
return
Achtbitsetzen; Achtbit-Datenbus einstellen
call Aufnullsetzten; alle Ausgaenge von PortB werden auf low setztrn
bsf PORTB,5
bsf PORTB,4
call Absenden
return
Vierbitsetzen; Vierbit-Datenbus einstellen
call Aufnullsetzten; alle Ausgaenge von PortB werden auf low setzen
bsf PORTB,5
call Absenden
return
Absenden
bsf PORTB,LcdE
call Warten
call Warten
call Warten
bcf PORTB,LcdE
call Warten
return
Aufnullsetzten
movlw B'00000000'
movwf PORTB
return
Datenreinkopieren
call Aufnullsetzten; alle Ausgaenge von PortB werden auf low setzen
;Erster Teil einfuegen (ersten vier Bit)
btfsc Daten, 7
bsf PORTB,7
btfsc Daten, 6
bsf PORTB,6
btfsc Daten, 5
bsf PORTB,5
btfsc Daten, 4
bsf PORTB,4
call Absenden
call Aufnullsetzten; alle Ausgaenge von PortB werden auf low setzen
;Zweiter Teil einfuegen
btfsc Daten, 3
bsf PORTB,7
btfsc Daten, 2
bsf PORTB,6
btfsc Daten, 1
bsf PORTB,5
btfsc Daten, 0
bsf PORTB,4
call Absenden
return
Displayloeschen
movlw B'00000001'
movwf Daten
call Datenreinkopieren
return
Display_aus
movlw B'00001000'
movwf Daten
call Datenreinkopieren
return

Display_ein
movlw B'00001100'
movwf Daten
call Datenreinkopieren
return
zweizeilig
movlw B'00100000'
movwf Daten
call Datenreinkopieren
return
kurser_rechts_shift
movlw B'00000010'
movwf Daten
call Datenreinkopieren
movlw B'00001111'
movwf Daten
call Datenreinkopieren
return
Warten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
call MSWarten
return
MSWarten
movlw .110 ; Zeitkonstante für 1ms
movwf loops2

Wai2 nop
nop
nop
nop
nop
nop
decfsz loops2, F ; 1 ms vorbei?
goto Wai2 ; nein, noch nicht
return;


end
Es passiert nichts. Wenn man den Kontrast hochregelt, stellt man fest das nur in der unteren Zeile graue Kästchen erscheinen.
Mit einem Logikprüfer habe ich schon meinen PIC überprüft, es scheint als ob der PIC funktionieren würde. Müssen noch irgendwelche Widerstände zwischen PIC und LCD eingebaut werden? / Oder woran kann so ein Verhalten liegen?


mfg
Sebastian

MichaelM
29.12.2007, 20:54
Hallo,
auf den ersten Blick sehe ich keinen Fehler. Am besten schreibst du mal eine Warteschleife nachdem dein PIC initialisiert ist und greifst dann erst auf Display zu. Außerdem mal die Verdrahtung prüfen. Wenn du nciht sicher bist ob der PIC arbeitet kannst du PORTA als Ausgänge setzen, ein paar LEDs anschließen und an bestimmten Programmstellen einschalten. Außer dem Trimmpoti für den Kontrast braucht man am Display nichts weiter, ein 100nF kondensator schadet aber wie immer nicht. Das Config habe ich nicht überprüft (ich schreibe das was ich will immer als Hex-Wert), vielleicht macht der Watchdogtimer Probleme? Ich weis jetzt nicht auswendig ob der aktiviert ist oder nicht.

Gruß,
Michael

robo-sebi
29.12.2007, 21:35
Hallo,

danke für die schnelle Antwort. Die Drahtverbindungen sind alle ok. Ich hab vor 2 Minuten das Problem doch gelöst und zwar war der Controller noch "busy" während ich schreibe... mmh naja .. ich hatte mich erst nach den Zeiten im Datenblatt gehalten... entweder waren meine Warteschleifen zu kurz oder der LCD zu langsam. :-k
mfg
Sebastian