Hallo! Hat der STM32F2xx kein "Global Interrupt"-Flag zum ein- und ausschalten aller Interrupts!? Danke & Gruß Blub
Doch. "cpsie I" einschalten, "cpsid I" abschalten. Das steht neben einer Menge weiterer nützlicher Informationen in der Dokumentation zum Core, dem ARMv7M Architecture Reference Manual.
Man sollte sich aber stets überlegen, ob das wirklich notwendig ist. Meist kommt man mit einem passenden Prioritätskonzept und dem BASEPRI/BASEPRI_MAX Register ebenfalls zu Ziel, ohne das ganze Interrupt-System mit dem Vorschlaghammer lahmlegen zu müssen.
Hi! Ich finde kein Register oder ein Flag beim STM32F2xx, dass CPS heißt. Im "ARMv7-M Architecture Reference Manual" (Kapitel B5.2.1, Seite 801) habe ich es auch gefunden ... Gruß Blub
Das ist auch kein Register, sondern eine Prozessorinstruktion. Das davon modifizierte Register heißt CPSR und ist Teil des PSR. Das ganze gilt übrigens für die gesamte ARMv7M-Architektur (und ist deswegen auch nur für diese dokumentiert), damit u.a. auch für die Cortex-M3,4 und damit auch für die STM32. Spezifisch für den STM32F2xx ist das ganze keineswegs, und deswegen auch nicht in dessen Dokumentation zu finden...
Danke für den Hinweis. Die Funktionen __enable_irq() und __disable_irq() habe ich in der cmsis_iar.h gefunden. Allerdings sind die in der intrinsics.h deklarierten Funktionen __get_CPSR und __set_CPSR nicht verfügbar. :(
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.