Externer Interrupt mit Open WCH Bibliothek beim CH32V00x

OP #7947835
Lesenswert?
• ▲
▼

Hallo Hat schon jemand mit der Bibliothek https://github.com/openwch/arduino_core_ch32 gearbeitet? Ich finde nicht heraus, wie nach "Arduino-Syntax" einem bel. Pin ein externer Interrupt (mit internem Pull-Up/Down) eingerichtet und abgefangen wird? Wenn ich die Doku richtig verstehe, soll "EXTI" implementiert sein, was ich als externen Interrupt interpretiere.

#7948112
Lesenswert?
• ▲
▼
OP #7948295
Lesenswert?
• ▲
▼

Es mag sein, daß der Blick hilft. Aber wenn ich hunderte Zeilen Code analysieren wollte, würde ich mich gleich über das schlechte Manual hermachen. Es hat wohl einen Grund, warum Leute gerne Arduino-Syntax mögen. Und

1
void ch32_interrupt_enable(GPIO_TypeDef *port, GPIOMode_TypeDef io_mode,uint16_t pin, void (*callback)(void), EXTIMode_TypeDef it_mode, EXTITrigger_TypeDef trigger_mode);

führt (bei mir) auch nicht zum Erfolg.

#7949275
Lesenswert?
• ▲
▼

Schau eher hier:

https://github.com/openwch/arduino_core_ch32/blob/main/cores/arduino/WInterrupts.h

der CH32-Core benutzt

1
void attachInterrupt(uint32_t pin,GPIOMode_TypeDef io_mode, void (*callback)(void), EXTIMode_TypeDef it_mode, EXTITrigger_TypeDef trigger_mode)

viele andere Cores eher:

1
void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode)

d.H. du musst die Parameter anders anordnen.

OP #7949333
Lesenswert?
• ▲
▼

Ja, das habe ich auch gefunden (und oben angedeutet). Nur leider komme ich damit auch nicht weiter. Der Interrupt wird nicht ausgelöst (die callback-Routine nicht ausgeführt). Habe auch schon mit allen möglichen Formen für pinMode experimentiert. Eine Email an den genannten Kontakt "yy@" blieb ohne Antwort. Gänzlich strange bleibt auch die Deklaration der Namen für die Pins. Da gibt es einen bunten Mix. Wird wohl einen Grund haben, daß nirgends Beispiele im Netz zu finden sind, wo doch sonst die Arduino-Welt überströmt, von den immer gleichen Codeschnipseln.

Schade.

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.