Vorsichtshalber noch so versuchen:
Code:
void servo(unsigned char winkel){
unsigned int count=0;
do{
count++;
DDRB |= (1 << PB6);
PORTB |= (1 << PB6);
FrontLED(ON);
Sleep(winkel);
Sleep(winkel);
PORTB &= ~(1 << PB6);
FrontLED(OFF);
Sleep(255); Sleep(255); Sleep(255);
Sleep(255); Sleep(255); Sleep(255);
}while (count<servo_stellzeit);
}
Hast du eigentlich die Timerprescaler in asuro.c für deine 16MHz angepasst? Die orginalen Sleepwerte passen zu einer 36kHz-ISR wie sie der asuro in den erweiterten Libs verwendet.
Lesezeichen