Die code ist nicht gans komplett : da ist auch noch eine function für die pulslange von servo in die variabele servo1 / servo2 zu schreiben.
Die timer frequenz kannst du aendern in die "controllib.c". Mit die bits CS0, CS1 und CS2 wird die prescaler eingestellt. Standard ist die auf 8 eingestellt, zahler geht hoch bis 199. Das ergibt dan 16 MegaHz/8 = 2 MegaHz. Nach 200 tics wird er auf 0 gestellt = 10 kHz. Sie konnen diesen wert verringern : OCR0 = 20 gibt schon eine 100 kHz frequenz!
Die prescaler kan auch auf 1 gesetzt werden (CS0,CS1 und CS2 alle auf 0), dan wird bei OCR0 = 200 die frequenz 8* hoher = 80kHz.
Naturlich wir die timer 0 auch für aendere functionen genutzt !! Die laufen dan alle schneller auch naturlich.Code:// 10kHz Timer 0: TCCR0 = (0 << WGM00) | (1 << WGM01) | (0 << COM00) | (0 << COM01) | (0 << CS02) | (1 << CS01) | (0 << CS00); OCR0 = 199;







Zitieren

Lesezeichen