Den Beispielcode in der Bascom Hilfe würde ich eigentlich eher so interpretieren, dass die Impulsdauer und somit die Stellung des Servos als vielfaches des Reload-Intervalls angegeben wird.Ich dachte immer, der dafür benutzte Timer 0 ist lediglich dafür da, wie oft die Impulswerte upgedatet und zum Servo geschickt werden.
"10µS Resolution" hört sich für mich eindeutig danach an.
Ich habe keine Ahnung wie MCS das in der Servo-Library gelöst hat. Wenn ich eine Servo-Routine schreiben würde, würde ich auch einen Timerintervall definieren und dann sowohl Periodendauer als auch Impulsdauer als Vielfaches dieses Timerintervalls definieren.Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10
'we use 2 Servos with 10 uS resolution
'finally we must turn on the global interrupt
Enable Interrupts
'the servo() array is created automatic. You can used it to set the
'time the servo must be on
Servo(1) = 100 '1000 uS on
Servo(2) = 200 ' 2000 uS on
Ich wüsste nicht, wie man das mit einem einzelnen Timer anders lösen könnte und 2 Timer zu benutzen wäre nicht besonders elegant.
Lesezeichen