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:
Gruß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--;}
mic
[Edit]
Drei Servos an SDA, SCL und E_INT mit Timer0 ohne RP6-Library:
https://www.roboternetz.de/phpBB2/vi...=322293#322293







Zitieren

Lesezeichen