STM32 CC Flags einzeln sperren

Gast #2564469
Lesenswert?

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ß
Gast #2564592
Lesenswert?

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.
#2569388
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren