Ha, ich bin wieder im Topic, weil mir aufgefallen ist, dass bei meinen Programm die grüne StatusLED und die BackLEDs(unterschiedlich hell) weiterglimmen. Bei der StatusLED liegt es wohl an den internen Pullups, die müssen aus sein. Die BackLEDs liegen mit der Kathode an PD7, deshalb gehen die aus, wenn man diesen Ausgang setzt:

Code:
#include <avr/io.h>
#include <avr/interrupt.h>

unsigned int timer_startwert=65536-7812; // 8MHz/1024=7812,5
int main(void)
{
	DDRB=0; // nicht benoetigte Ports auf Eingang setzen
	PORTB=0; // und die Pullups aus, sonst "glimmt" die StatusLED gruen
	DDRC=0;
	PORTC=0;
	DDRD=(1 << PD2); //rote StatusLED haengt an PD2(= Port D, Bit2)
	DDRD|=(1 << PD7); // Kathoden der BackLEDs haengen auf PD7
	PORTD=(1 << PD7); // high an PD7 schaltet die BackLEDs aus

/* Es folgt eine Einschaltverzögerung von ca. 1 Sekunde */
   TCNT1=timer_startwert; // 16-Bit auf einmal laden?
   TCCR1B |= 0b00000101; // Prescaller Timer1 auf 1024 setzen
   while(!(TIFR & (1 <<TOV1) )); //Warten bis Überlauf Timer1
   TCCR1B &= ~0b00000101; // Prescaller löschen bedeutet Timer1 stoppen
   TIFR = (1 << TOV1); // Flag setzen bedeutet Flag wieder löschen

	while(1) PORTD=(1 << PD7) | ((PINC & (1<<PC4))  >> 2); // eine Taste schaltet StatusLED aus

	return(0);
}
Das heißt aber auch, wenn man die BackLEDs einschalten will, muss man zusätzlich zu PC0/PC1 noch PD7 als Ausgang definieren und ein Low ausgeben. Dann gehen auch D13/14 aus, deshalb funktionieren BackLEDs und Odometrie nicht zusammen. Oder sehe ich das falsch?

ich hab wohl was an den Augen
War ein [Edit] meinerseits

Schöne Nacht wünsche ich euch auch

mic