Ich habe mal gelesen, dass dei digitalWrite Routinen unglaub langsam
sind. Vielleicht sogar langsamer, als das Timer-Intervall. Vielliecht
verträgt sich diese Funktion auch aus anderen Gründen nicht mit
Interrupt-Routinen
Versuche das mal:
1 | ISR(TIMER1_COMPA_vect) {
|
2 | PORTB ~= (1<<4); // Schalte PB4 um
|
3 | }
|
Du musst noch herausfinden, wie der Pin3 bei AVR genannt wird. PB4 habe
ich hier nur als Beispiel genannt.
Du hast da aber noch andere Fehler. Im Fast PWM Modus soll der Timer
einen I/O Pin direkt ansteuern. Nicht indirekt durch eine Interrupt
Routine. Außerdem stimmt die Signalform nicht.
Schau mal: http://stefanfrings.de/servocontroller/index.html