stm32 Pin im laufenden Programm aktivieren/deaktivieren

Gast #2538426
Lesenswert?
• ▲
▼
Hallo, ich möchte im laufenden Programm einen Pin 
deaktivieren/akitivieren um mir für bestimmte Zustände keine Interrupts 
einzufangen. Die Deaktivierung des Interrupts ist so nicht möglich, da 
ich nur im Hauptprogramm das IT-Flag abfrage und das ja immer gesetzt 
wird. Gibt es also eine Möglichkeit dein Eingang tot zu schalten oder 
muss man den als Ausgang mit PU oder PD schalten? Das Locken scheint ja 
nur zu nützen wenn man ihn als Ausgang nutzt.
(Firma: EleLa - www.elela.de) #2538516
Lesenswert?
• ▲
▼
Alle Interrupts können auch so einzeln deaktiviert werden:
1
  NVIC->ICER[0] = 0xFFFFFFFF;
2
  NVIC->ICER[1] = 0xFFFFFFFF;
3
  NVIC->ICER[2] = 0xFFFFFFFF;
4
  NVIC->ICER[3] = 0xFFFFFFFF;
5
  NVIC->ICER[4] = 0xFFFFFFFF;
6
  NVIC->ICER[5] = 0xFFFFFFFF;
7
  NVIC->ICER[6] = 0xFFFFFFFF;
8
  NVIC->ICER[7] = 0xFFFFFFFF;

Jedes einzelne Bit ist ein Interrupt, der Cortex-M3 hat bis zu 256 
Interrupts, daher sind es 8*32 Bit.

Wie Du den vorigen Zustand sicherst und den Interrupt wieder aktivierst 
bekommst Du sicher raus. Auch welches Bit welcher Interrupt ist.
Steht irgendwo in der Doku.

PS: Diese 8 Zeile deaktivieren natürlich alle Interrupts.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.