FireFly
02.05.2007, 18:17
Hallo,
programmiere seit kurzem den ATmega32 (habe bereits C167 programmiert) und hab folgendes Problem:
Ich will zwei Stepper zyklisch laufen lassen (Treiberstufe aus L297/L298 wie hier schon des öfteren besprochen) und will dazu mit dem Timer1 Compare Interupt das Enable Signal der beiden Treiberstufen toggeln.
Ich habe mir die einzelnen Config Register aus dem Datenblatt zusammengebaut, aber ich komme mit der Interupt Behandlung nicht ganz klar (zumindest denke ich dass das Problem hier liegt).
Ich habe den Code hinten angefügt, wäre super wenn jemand mal einen kurzen blick darauf werfen würde um mir bei meinem Denkfehler weiterzuhelfen.
Anmerkungen zum Code:
Timer0 erzeugt den Takt für Stepper 1
Timer2 erzeugt den Takt für Stepper 2
Timer1 erzeugt Interupt
Fragen:
- Stimmt das TIMSK Register?
- Stimmt die Verzweigung im Interupt Vektor?
- Muss ich mich um das TIFR Register kümmern? (Hab das Datenblatt so interpretiert, dass hier nur Flags angezeigt werden wenn ein Interupt wirklich auftritt)
--------
Und dann hätte ich nebenbei gleich noch eine Frage:
Ich programmiere im AVr Studio und flashe den µC per Ponyprog und ISP. Das ganze dauert aber je Durchgang 5min. Gibts ne Einstellung mit ich den "Verify" Vorgang unterdrücken kann?
Vielen Dank erstmal
programmiere seit kurzem den ATmega32 (habe bereits C167 programmiert) und hab folgendes Problem:
Ich will zwei Stepper zyklisch laufen lassen (Treiberstufe aus L297/L298 wie hier schon des öfteren besprochen) und will dazu mit dem Timer1 Compare Interupt das Enable Signal der beiden Treiberstufen toggeln.
Ich habe mir die einzelnen Config Register aus dem Datenblatt zusammengebaut, aber ich komme mit der Interupt Behandlung nicht ganz klar (zumindest denke ich dass das Problem hier liegt).
Ich habe den Code hinten angefügt, wäre super wenn jemand mal einen kurzen blick darauf werfen würde um mir bei meinem Denkfehler weiterzuhelfen.
Anmerkungen zum Code:
Timer0 erzeugt den Takt für Stepper 1
Timer2 erzeugt den Takt für Stepper 2
Timer1 erzeugt Interupt
Fragen:
- Stimmt das TIMSK Register?
- Stimmt die Verzweigung im Interupt Vektor?
- Muss ich mich um das TIFR Register kümmern? (Hab das Datenblatt so interpretiert, dass hier nur Flags angezeigt werden wenn ein Interupt wirklich auftritt)
--------
Und dann hätte ich nebenbei gleich noch eine Frage:
Ich programmiere im AVr Studio und flashe den µC per Ponyprog und ISP. Das ganze dauert aber je Durchgang 5min. Gibts ne Einstellung mit ich den "Verify" Vorgang unterdrücken kann?
Vielen Dank erstmal