> Ich weis nämlich nicht wie man einen inkrementalgeber auswerten
> lässt (in der programmiersprache c
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29
Am einfachsten realisiert man das mit einer state machine als Tabelle.
In C sieht das so aus.
int table[4][4]={{0,1,-1,0},{-1,0,0,1},{1,0,0,-1},{0,-1,1,0}};
int position=0; // zaehlen wir mal die absolute Position
volatile int quadrature_input; // bit 0 und bit 1 sind
Quadratureingaenge
int new_quadrature_value, last_quadrature_value=quadrature_input;
Folgenden Code ausreichend oft wiederholen (in der Programm Hauptscheife
oder einer Zeitgeber gesteuerten Interrupt Routine):
new_quadrature_value=quadrature_input;
position+=table[last_quadrature_value][new_quadrature_value];
last_quadrature_value=new_quadrature_value;