-
-
Erfahrener Benutzer
Roboter-Spezialist
Volatile teilt dem Compiler mit, daß er diese Variable im Ram speichern soll. Ansonsten könnte er das in ein Register speichern und dir IRQ Routine würde von einer Änderung dieser Variable nichts mitbekommen oder umgekehrt.
Ich weiß immer noch nicht, welche Signale Dein Hallencoder liefert. Soll das ein normales Ausgangssignal eines Incrementalencoders sein ? Wenn ja, kann das was Du da machst, auf keinen Fall funktionieren.
So sieht ein normales Signal eines Encoders aus:
Wahrheitstabelle Encoder
Encoder1alt Encoder1neu Encoder2alt Encoder2neu Richtung
1 1 1 1 Ungültig
1 1 1 0 „++“
1 1 0 1 „--“
1 1 0 0 Ungültig
1 0 1 1 „--“
1 0 1 0 Ungültig
1 0 0 1 Ungültig
1 0 0 0 „++“
0 1 1 1 „++“
0 1 1 0 Ungültig
0 1 0 1 Ungültig
0 1 0 0 „--“
0 0 1 1 Ungültig
0 0 1 0 „--“
0 0 0 1 „++“
0 0 0 0 Ungültig
Encoder1 und Encoder2 sind dabei die beiden Encoderausgänge.
Darauf habe ich mein Programm aufgebaut und es funktioniert hervorragend.
Gruß
pctoaster
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen