Hallo! Ich habe ein Projekt wo ein XE167-96F66 Mikrocontroller zum Einsatz kommt. Mich beschäftigt derzeit die Auswertung eines Inkremental-Encoders welchen ich über GPT1 - T2 im "incremental interface mode" auswerte. Dies klappt auch einwandfrei. Das Problem ist, dass ich gerne bei bestimmten Positionen des Encoders (bzw. der Mechanik) gewisse Aktionen durchführen muss. Ich würde daher im Prinzip soetwas wie einen Compare-Interrupt benötigen der bei einem entsprechenden Counterstand von T2 ausgelöst wird. Die Capture/Compare Einheit des Controllers arbeitet mit den Timern 7 und 8, hier kann ich jedoch den Encoder nicht so einfach auswerten. Meine Frage ist folgende: Gibt es irgenwie eine Möglichkeit wie ich auf einen Zählerstand von T2 ein Ereignis auslösen kann? Ansonsten müsste ich pollen, wobei mir eine elegantere Lösung lieber wäre. Ich wäre für eine kleine Hilfe sehr dankbar! Viele Grüße Max
Max, 1. Infineon/Distributor FAE befragen 2. DAVE aufmachen und schauen ob sich da etwas grafisch zusammenklickbar anbietet cy, tom.
Danke für die Antwort. Über Dave habe ich bisher leider noch keinen Weg gefunden. Werde jetzt mal über einen FAE anfragen. Falls jemandem noch was einfällt wäre ich dennoch sehr dankbar. Viele Grüße Max
Warum setzt du in der ISR des Encoders bei entsprechendem Zählerstand nicht einfach das I-Flag eine Compare- oder sonstigen unbenutzten Interrupts? Das darf man!
Hallo Guido, der Timer besitzt einen sogenannten "incremental interface mode" wo die Auswertung des Encoders vollständig von der Hardware erledigt wird. Der Vorteil davon wäre, dass nicht bei jedem Schritt bzw. Abtastung ein Interrupt erfolgen muss, was ressourcensparend wäre. Meine Wunschvorstellung wäre gewesen, wenn ich einen Interrupt nur beim Compare-Match habe, und nicht bei jedem Schritt - mittlerweile sieht es aber so aus als ob das nicht funktionieren würde. Grüße Max
Hallo Max, eine vllt. verrückte Idee hätte ich noch: Der Encoder-Int löst einen PEC-Transfer des Zählerstandes in einen Timer/Zähler aus. Beim Compare-Match muss dann der jew. PEC-Event-Cntr neu initialisiert werden, da unendlich viele Transfers afair nicht möglich sind. Gruß, Guido
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.