Hallo

Ich bin grad zu faul um dein Timersetup nachzuprüfen. Es lohnt sich allerdings auch nicht wirklich in diese stümperhafte Sleep()-Ansteuerung unnötig Zeit zu investieren. Viel besser ist eine Ansteuerung direkt in der ISR. http://www.rn-wissen.de/index.php/Servo zeigt das Prinzip mit einem Servo. Die ISR wird mit 100000kHz aufgerufen und daraus werden die Impulslängen berechnet. Ich verwende das dann auch gleichzeitig als Zeitgeber für eine Pause()-Funktion:

Code:
	uint8_t p=0;

	void Pause(uint8_t wert) // Pause in 1/50 Sek
	{
	   p=wert;
	   while(p);
	}
	
	und am Ende der ISR:
	
	if(count<2000-servopos)count++;
		else {count=0; if(p) p--;}
Gruß

mic

[Edit]
Drei Servos an SDA, SCL und E_INT mit Timer0 ohne RP6-Library:

https://www.roboternetz.de/phpBB2/vi...=322293#322293