Hallo. Ich brauche Hilfe. Ich arbeite mit MSP430F2012. Ich habe folgendes Problem. Ich muss PWM ansteuern und gleichzeitig einen Timer von 10 s laufen lassen, der Timer soll nach der Zeit die PWM ausschalten. Da der uC nur einen Timer hat, geht das nicht (oder habe ich da was falsch verstanden). Hat jemand vielleicht eine Idee, wie ich das Problem lösen kann. Ich bedanke mich schon im Voraus bei Allen, die mir antworten.
Dein PWM-Timer hat ja auch einen Interrupt. Schreibe eine kleine Interrupt-Routine dafür, die einen Zähler dekrementiert und nach 10s den PWM totlegt.
>Da der uC nur einen Timer hat, geht das nicht Doch, geht schon! >oder habe ich da was falsch verstanden? Ja, hast Du ;-) Der Timer_A beim F2012 hat 2 CCR-Register. Im outmode benutzt Du beide CCR-Register um die gewünschte PWM-Frequenz und den Duty-Cycle festzulegen. Beim Frequenz-bestimmenden CCR-Register benutzt Du zusätzlich dessen IRQ, um in der ISR einen Zähler zu inkrementieren (siehe Wolfgang Mües) und bei 10s ist eben Schluß! Der User-Guide der 2xxx-Familie klärt Dich über die Verwendung von CCR, outmodes, usw auf!
Sorry (vieleicht bin zu blöd dafür)
>um in der ISR einen Zähler zu inkrementieren
heißt das ich könnte eine normale Variable hochzälen lassen?
Das habe ich gemacht, aber er spring nie in die ISR.
Könnt Ihr mir vieleicht ein Beispiel geben, wie die ISR für meinen Fall
sein soll.
@Nat >um in der ISR einen Zähler zu inkrementieren >heißt das ich könnte eine normale Variable hochzälen lassen? >Das habe ich gemacht, aber er spring nie in die ISR. Mir scheint so, als würden Dir einige Grundlagen fehlen... Ich kann Dir nur raten, Dir mal den User-Guide zu Gemüte zu führen und die Code-Beispiele von TI anzuschauen! @Jörg >Kannst auch den Watchdog als 2. Timer nutzen. Könnte man, aber Timer_A reicht völlig aus. Daher würde ich den WDT lieber Watchdog spielen lassen!
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.