/// <summary> /// Sets and interrupt and IRQHandler on GPIOClockPin /// </summary> public void SetInterrupt() { try { //gpio.SetPullMode(GPIOClockPin, PullMode.Up); InterruptLevel LevelMode = InterruptLevel.EdgeFalling; WiringPi.WiringPiISR(GPIOClockPin, LevelMode, IRQHandler); Log.Add($"IRQHandler is active for {LevelMode} interrupt on pin {GPIOClockPin}"); UpdatePinStates(); } catch (Exception ex) { throw ex; } }
public static extern int WiringPiISR(int pin, InterruptLevel mode, [MarshalAs(UnmanagedType.FunctionPtr)] WiringPiISRDelegate callback);