Guten Tag, Hätte eine Frage zu Interrupts. Wenn die Rede von zeitkritischen Interrupts ist, bedeutet das doch, dass die Priorität des Interrupts am höchsten bzw hoch ist. Bei dem STM32 gibt es einen NVIC, bei dem man die Priorität von Interrupts angegeben werden kann. Bin ich da Richtig? Grüße
Ich glaube nicht, dass die Bedeutung des Wortes "zeitkritische Interrupts" klar definiert ist. Du meinst damit vielleicht einen Interrupt, der möglichst zeitnah ausgeführt werden soll. Ich könnte mich darunter aber auch Interrupthandler vorstellen, die Fast 100% der CPU Zeit in Anspruch nehmen und deswegen kritisch sind.
Student schrieb: > Bei dem STM32 gibt es einen NVIC, bei dem man die > Priorität von Interrupts angegeben werden kann. Bin ich da Richtig? Ja, wenn sich der MCU in einem interrupt niedriger Priorität befindet kann er von einem weiteren Interrupt mit höhere Priorität unterbrochen werden.
Student schrieb: > Wenn die Rede von zeitkritischen > Interrupts ist ... hat der Redner keinen blassen Schimmer von der Materie. Denn Interrupts sind immer zeitkritisch - sonst würde man das in der Hauptschleife mit erledigen. Die NVIC Prioritäten braucht man wenn man verschiedene Levels von "zeitkritisch" hat. Beispiel NordicSemi NRF5x: Bluetooth Radio Interrups sind auf wenige us kritisch, und müssen dann zum Beipiel den UART Interrupt Handler (100us oder mehr) unterbrechen können.
John P. schrieb: > Ja, wenn sich der MCU in einem interrupt niedriger Priorität befindet > kann er von einem weiteren Interrupt mit höhere Priorität unterbrochen > werden. Mit der Aussage muss man denk ich vorsichtig sein. Es gibt bei den STM32 eine "Preemtion Priority" und eine "Sub Priority". Bei ersterem stimmt deine Aussage, bei "Sub Priority" meines wissens nicht. Als Beispiel: TIM 1: 0, 1 TIM 2: 0, 0 Werden beide gleichzeitig ausgelöst, bekommt TIM 2 den vortritt. Wenn der Callback von TIM1 bereits läuft und dann TIM2 triggert, dann muss er warten bis der Callback von TIM1 fertig ist. @Student lies dich am besten erst einmal ein ;-) https://www.st.com/content/ccc/resource/training/technical/product_training/group0/0e/7d/62/5c/68/35/4c/fe/STM32G0-System-Nested-Vectored-Interrupt-Control-NVIC/files/STM32G0-System-Nested-Vectored-Interrupt-Control-NVIC.pdf/_jcr_content/translations/en.STM32G0-System-Nested-Vectored-Interrupt-Control-NVIC.pdf VG, Mathias
Student schrieb: > Guten Tag, > > Hätte eine Frage zu Interrupts. Wenn die Rede von zeitkritischen > Interrupts ist, bedeutet das doch, dass die Priorität des Interrupts am > höchsten bzw hoch ist. Bei dem STM32 gibt es einen NVIC, bei dem man die > Priorität von Interrupts angegeben werden kann. Bin ich da Richtig? NVIC ist schonmal ein guter Ansatz. Die verschiedenen Varianten F0/F1/F4 unterscheiden sich ein wenig in der möglichen Konfiguration, aber das Prinzip bleibt ähnlich. Der NVIC gehört zum CPU-Teil, ist daher Teil der ARM-Core-Doku. Beim M4 z.B. im Dokument PM0214 Programming manual STM32F3 Series, STM32F4 Series, STM32L4 Series and STM32L4+ Series Cortex ® -M4 programming manual Oder für die Nuller: PM0215 Programming manual STM32F0xxx Cortex-M0 programming Manual
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.