Hi,
@stevie, ich konnte dein Programm noch nicht übersetzen und testen, als erstes möchte ich aber sowieso erstmal erfolgreich ein Servo ansteuern (wenn irgendwie möglich per hardware PWM).
Dazu habe mir mal die Grundlagen angeschaut, aber anscheinend einen Denkfehler, den die Theorie passt nicht zu meinen Beobachtungen...:
Ich habe einen tiny45 mit 8MHz int. Takt. Clock divide by 8 ist erstmal an.
den Timer0 habe ich als PWM konfiguriert:
Code:
Config Timer0 = Pwm , Compare B Pwm = Clear Up , Prescale = 1024
Enable timer0
Das PWM Signal soll auf PB.1 "herauskommen"
Code:
Config Portb.1 = Output
Ocr0b = 128
Angenommen, der Code oben wäre richtig, so sollte doch folgendes passieren:
µC Frequenz=1MHz, Prescaler = 1024 ==> PWM frametime = 976,56 Hz
Wenn Ocr0b jetzt auf 128 gesetzt ist, sollte Portb.1 doch eigentlich abwechselnd 1/(972,56/2) Sekunden an und aus sein. Tatsächlich blinkt die angeschlossene LED aber mit ca. 2 Hz. Was habe ich da falsch gedacht....? So wie es aussieht schaffe ich es eh nicht ein Servo per Hardware anzusteuern, da werde ich wohl oder übel auf software umsteigen müssen...