Xmega Encoder auslesen

OP #2647153
Lesenswert?

Hi,

ich lese die Encoder meines Motors über Events des Xmega aus.

char uart_buffer [33];
usart_sendstring(" TCC1.CNT ");

itoa(TCC1.CNT,uart_buffer,10);
usart_sendstring(uart_buffer);

in der Ausgabe werden Werte +-0 (zB -1000 // +1000..) angezeigt!
Wenn ich das ganze in der Schleife auswerten will

if(TCC1.CNT  > 3)
{
status = 1;
M_2.zur();
}



if(TCC1.CNT  < -3)
{
  status = -1;
  M_2.vor();
}


if(TCC1.CNT  >= -3 || TCC1.CNT  <= 3)
{
  status = 0;
  M_2.stop();
}


wird nur die erste Schleife ausgelöst. Woran liegt das? Wird TCC1.CNT in 
der Schleife zum Betrag,also immer positiv betrachtet?

Gruß
OP #2647281
Lesenswert?

geht leider doch nicht. ich hatte die Grenze bei 1000 und darum schwingt 
der Motor gut. Wenn die grenze jedoch bei 0 liegt, dann scheint
TCC1.CNT positiv zu werden, obwohl, es in der USART Ausgabe als negativ 
dargestellt wird.

da muss ich wohl die Richtung des Motor ermitteln und dann TCC1.CNT 
addieren bzw. subtrahieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren