Eigentlich ist das schlechtes C++, guter Stil wäre es, das in einem Destruktor zu machen. (Google mal nach RAII)
Im Konstruktor von re_decoder registriert er _pulseEx irgendwo in der Library
wobei in _pulseExCode:gpioSetAlertFuncEx(gpioA, _pulseEx, this);
aufgerufen wird und dort der Callback auftaucht, z.B.Code:mySelf->_pulse(gpio, level, tick);
D.h innerhalb des Librarycodes wird irgendwo der Callback aufgerufen, wahrscheinlich bei jeder Änderung des Pins.Code:if (levB) (mycallback)(1);
Am Ende des Programms muss der Callback wieder abgeschaltet werden, das macht er in re_cancel()
dort übergibt er einen Nullzeiger als neuen Callback.Code:gpioSetAlertFuncEx(mygpioA, 0, this);







Zitieren

Lesezeichen