-
Hallo!
So jetzt funktioniert das! Also erstmal zum LCD-Display: Mein Fehler war so banal wie er nur sein kann. Ähnlich wie bei TheScientist. Es lag am Kabel. Es war alles richtig geklemmt, nur hab ich genau seitenverkehrt angeschlossen. Und ja, was soll ich sagen, es funktioniert jetzt.
Zweitens funtioiert meine Namenszuweisung zu nem PIN. In C18 funktioniert das anscheinend so:
Code:
//Register benennen
#define LCD_DATA PORTB
//Pin benennen
#define LCD_E PORTDbits.RD3
Ja das war die Hexerei. So geht das.
Noch ne Frage zum den Delayfunktionen. Also für den der die kennt:
Die schauen z.B so aus: (So weit ich micht nicht irre:)
Delay1kTCYs(0-255);
Da wartet er jetzt 1000*(0-255) - Zyklen. Die Frage. Wartet er jetzt 1000*(0-255) - Takte oder Befehle. Weil wenn Befehle wartet er ja 4*länger. Ist ja doch was.
lg
Norbert
-
Ein Zyklus ist IMMER für den Befehlszyklus gesehen, also ja, er wartet eigentlich 1000*(0-255)*4 Quarz-Takte (eigentlich nichts anderes, als wenn du ein Haufen "nop"-Befehle in Assembler hintereinander schreibst). Vielleicht wäre es aber interessant einen der Timer für diese Aufgabe auszuborgen, nat. wenn du noch einen frei hast, weil du dann mit Interrupts und einer State-Mashine den cpu nicht so stark beanspruchen würdest (vor allem bei USB-Anwendungen sehr wichtig ;) ). Ka, wie trivial oder auch nicht es ist (schätz mal auf net so einfach, muss es mri mal durch den Kopf gehen lassen, bin aber zu müd dafür).
Und freu mich, dass es mit dem LCD geklappt hat :D. Das #define ist a gut zu wissen, man lernt nie aus ;) :D.
lg
Mobius