Hallo, hat schon mal jemand erfolgreich das QEI Interface von einem LPC verwendet? Ich wollte mal einen Standard-Drehgeber am LPC1769 mittels QEI einlesen. Leider bekomme ich es nicht hin; mein QEIPOS Register ist immer 0. Ich habe wie im Manual beschrieben QEI im PCON eingeschaltet, den Clock für QEI gesetzt und die Eingänge ausgewählt (MCI0, MCI1 MCI2). Wahrscheinlich fehlt noch irgendeine Initialisierung. Wäre nett, wenn jemand einen Tipp (oder ein Beispiel) hätte. Gruß Andreas
Gast
#4282193
Ich kann nur raten, da ich den LPC nicht verwende: Sind die Pins da auch mehrfach belegt? Wenn ja: hast du die in den richtigen Modus geschaltet, so dass sie auch als Eingänge für den QEP arbeiten und nicht noch irgend welche GPIOs oder sonstwas sind?
Ja, für die Pins ist die Funktion QEI ausgewählt (wird beim LPC im sog. PINSEL Register :-) gemacht).
Gast
#4282227
Eine Beschreibung, wie die von dir gelieferte, ist nicht hilfreich bei der Fehlersuche. Du schreibst im Prinzip: - Ich mach das und das - das mach ich richtig - es funktioniert aber nicht - Was mach ich falsch? Wie wärs mit mehr Informationen, z.B. dem Quelltext von dir?
OK, code kommt heut' Abend, bin noch @work.
Anbei etwas Code. Läuft bei mir seit Jahren in einem Radiowecker für Sender- und Menüauswahl. Funktioniert immer noch wie am ersten Tag. Hinweis: currentTimer() liefert einen Zeitstempel und elapsedTime(x) gibt die Differenz zwischen einem Zeitstempel und der aktuellen Zeit in Millisekunden. - Michael PS: Angeschlossen ist der Geber an P1[20] und P1[23].
Die Zuweisung an MAXPOS fehlte.
1 | |
BTW: typeof(...) -1 kannte ich gar nicht. Ist wohl so was wie maximaler Wertebereich. Jetzt geht es jedenfalls! Vielen Dank!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.