Interrupt bei STM32F103C8

OP (Firma: Frickelhauptquartier) #7827983
Lesenswert?
• ▲
▼

Moin, wie kann es sein, dass der erste Interrupt funktioniert, der zweite jedoch nicht?

volatile byte B5=0,B4=0; // ohne volatile selbes Ergebnis ... pinMode(PB5, INPUT_PULLDOWN); // DATUM attachInterrupt(digitalPinToInterrupt(PB5),B5Pressed,RISING); pinMode(PA15, INPUT_PULLDOWN); // ALARM1 attachInterrupt(digitalPinToInterrupt(PA15),B4Pressed,RISING); ... if(B5==1)dispdatesun(); if(B4==1){Serial.print("AL1:");...} ... void B5Pressed(){ B5=1; }

void B4Pressed(){ B4=1; } Ich habe auch schon die Pins B3 und B4 ausprobiert, selbes Ergebnis.

Edith hat gerade herausgefunden: an PA6 funktioniert es, aber warum?

(Firma: matzetronics) #7828129
Lesenswert?
• ▲
▼

Thomas G. schrieb:

Wäre mir neu, dass das gemacht werden muss.

Gab sogar mal einen Beitrag hier dazu. Es betrifft auf jeden Fall IRQs, die über GPIO ausgelöst werden. Erst den Request löschen, dann im Interrupt weitermachen. Ist aber easy für dich, das einfach mal auszuprobieren. Selbst löschen tut der STM32 den Request nämlich sowieso nicht.

Gast #7829745
Lesenswert?
• ▲
▼

Thomas G. schrieb:

wie kann es sein, dass der erste Interrupt funktioniert, der zweite jedoch nicht?

Die Frage ist nicht eindeutig. Meinst du mit "der zweite" dass am zweiten Eingang PA15 (auch PB3 und PB4)

a) gar kein Tastendruck erkannt wird oder b) nach dem Reset nur der erste Tastendruck erkannt wird?

Handelt es sich um ein Blue-Pill Board? Dann liegt es sich mit hoher Wahrscheinlichkeit an einer schlechten Fälschung. Probleme mit Interrupts wurde da schon öfter berichtet.

Wastl schrieb:

Vermutlich weil du ein Interrupt Flag nicht löschst nachdem ein Interrupt aufgetreten ist.

Daran liegt es nicht, darum kümmert sich das Framework.

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.