Hallo zusammen,
ich habe einen Servo angesteuert. Das folgende Programm zeigt, wie ich
ihn angesteuert habe. Nun zum Problem:
Der Servo läuft. Es kommen immer kurze Takte. Nun bekomm ich es aber
nicht hin, dass der Servo einen längeren Weg hinterlegt. Also nun macht
er ja ca. 1 mm. Wie bekomm ich es hin, dass er z.B. 6 mm macht?
Die Zeit habe ich verändert. Passiert aber nicht viel.
Könnt ihr mir da ein Beispiel geben?
Programm:
int count = 0;
ISR (TIMER0_OVF_vect)
{
TCNT0 = 6;
count++;
switch(count)
{
case 20: PORTA = 0x01;
break;
case 21: PORTA = 0x00;
count = 0;
break;
TCCR0A = 0x04;
}
}
int main()
{
sei();
TCCR0A = 0x05; //Vorteiler 64
TCNT0 = 0x00; //Timer vorladen
TIMSK0 = 0x01; //Interrupt enablen
while(1)
{
}
}
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.