Ich will über die zwei voneinander unabhängigen PWMs des Timer1 zwei Servos ansteuern und blicke da irgendwie nicht so ganz durch. Ich denke, am geschicktesten ist die "Phase and Frequency correct PWM" Da bei beiden PWMs die Zykluszeit gleich ist kann ich ja als Top- Wert das ICR1 Register nehmen,oder? Woher weiß er dann, wann er das OC1 bzw OC2 setten (beim raufzählen) bzw resetten (beim runterzählen) soll? Geschieht das über die Marken OCR1A bzw OCR1B? Beim Anhang habe ich das so ausprobiert, jedoch hat der Timer dann nicht rauf- und runtergezählt, sondern ist übers ICR1 hinaus bis $FFFF und hat dann bei $0000 wieder angefangen. Außerdem hat das OC1A bzw OC1B nicht umgeschaltet. Ist das ein Fehler des AVR Studio oder habe ich irgendetwas falsch gemacht??? Hoffentlich kann mir jemand helfen, da ich schon eine Weile herumprobiere. Danke,mfg Rdlpfrmpft
Am geschicktesten soll doch Fast-PWM sein ;) ich verwende am meistens die 14. Funktion von dem Timer. Das Problem könnte auch daran liegen, dass du deine TCNTs nicht initialisiert hast, vermute ich. Und wenn es nicht hilft, dann versuche noch mal so was: ... ldi temp,$2e out OCR1AL,temp out OCR1AH,temp2 ldi temp,$59 out OCR1BL,temp out OCR1BH,temp2 ldi temp,0b11110000 out TCCR1A,temp ldi temp,0b00010011 out TCCR1B,temp ;!!!!!!!!! ldi temp,$2e out OCR1AL,temp out OCR1AH,temp2 ldi temp,$59 out OCR1BL,temp out OCR1BH,temp2 ;!!!!!!!!! Ich hab schon ähnliche Probleme bei dem 90s2313 mit soclhem Trick gelöst...
Und noch eine Bemerkung - zuerst stellt man die OCR1AH und OCR1BH ein, dann kommen die low bytes
Danke nachdem ich es heute nochmal mit demselben programm probiert habe, klappte auf einmal das umschalten der OC1A bzw OC1B bei einem compare match von TCNT1 mit OCR1A bzw OCR1B,jedoch überging er den wert von ICR1,wo er eigentlich bei einem compare match mit ICR1 nach unten tählen sollte.... Brauch ich da spezielle einstellungen in den timer interrupt registern??
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.