Hi, kann mir jemand sagen ob es möglich ist bei einem STM32 die Capture Compare Flags einzeln zu sperren. Sprich ich brauche jetzt das CC3 Flag und möchte aber in einem anderen Teil des Programms kein Auslösen dieses Flags mehr. Momentan sehe ich nur die Möglichkeiten ständig das CC neu zu setzen oder eine zweite Bedingung in die IF-Abfrage zu stecken die mir den Aufruf dann blockt. Gibts da eine Elegantere Lösung. Ganz abschalten kann ich den Timer nicht, da ich die anderen CCs noch benötige. Gruß
Bin mir nicht ganz sicher, was du mit 'Flag sperren' meinst, aber vll. suchst du nach dem CC2IE bit im TIMx_DIER Register? mfg Reinhard
Das DIER Register ist nur für die Interrupts zuständig. Gegen die "normalen" CC-Flags kann das nichts ausrichten. Und ich denke jetzt meine Funktion in die Interrupts zu schreiben macht noch mehr Stress als einfach mein zusätzliches Sperrflag einzufügen. Aber danke Was meinst du mit Bitbanding? Ich kenne das nur unter der Funktion des gleichzeitigen setzen und Rücksetzen von mehreren Bits.
STM schrieb: > Gegen die > "normalen" CC-Flags kann das nichts ausrichten. Was verstehst du unter den "normalen" Flags?
Damit meine ich die Time Flags: z.B. "TIM_FLAG_CC2" die im Gegensatz zu den IT-Flags scheinbar immer gesetzt werden bei einem CC wenn der Timer aktiviert wurde.
Hm...ja, diese Flags werden scheinbar immer gesetzt. STM schrieb: > oder eine zweite Bedingung in die IF-Abfrage zu stecken die mir den > Aufruf dann blockt. Ich finde diese Lösung nicht un-elegant - im Gegenteil. Ich habe aber bis jetzt nicht ganz kapiert, was du wirklich erreichen willst... Würde mir vielleicht nochmal Gedanken über die CCxIE Bits im DIER und die CCxIF Bits im SR machen. Auch wenn du das Problem scheinbar nicht in einer ISR lösen willst - beim CC ist das meiner Meinung nach das Mittel der Wahl. Unter Umständen kannst du ja in der ISR einfach eigene Flags setzten und dann an anderer Stelle im Programm entsprechend darauf reagieren. mfg
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.