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?

: Bearbeitet durch User
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren