Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Microwave_MBED MicrowaveSimulation_LPC1768 RTOS_Alarm_Clock USB_Project_Host ... more
Diff: DebounceInterrupts.h
- Revision:
- 0:ca5a0fee9f52
- Child:
- 1:ffacad1b455a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DebounceInterrupts.h Tue Feb 18 01:05:10 2014 +0000
@@ -0,0 +1,28 @@
+
+/**
+ * Debounces an interrupt
+ */
+
+#ifndef DEBOUNCE_INTERRUPTS_H
+#define DEBOUNCE_INTERRUPTS_H
+
+#include <stdint.h>
+#include "mbed.h"
+
+class DebounceInterrupts {
+private:
+ unsigned int fDebounce_us;
+ void (*fCallback)(void);
+ void onInterrupt(void);
+public:
+ /** Setup debounce for an InterruptIn.
+ * fptr: pointer to function to be called when debounced Interrupt fires
+ * interrupt: InterruptIn to monitor
+ * rise: true:rise, false: fall
+ * debounce_ms: milliseconds to wait for a stable input
+ * @return Pull the oldest element from the buffer
+ */
+ DebounceInterrupts(void (*fptr)(void), InterruptIn *interrupt, const bool& rise=true, const uint32_t& debounce_ms=10);
+ ~DebounceInterrupts();
+};
+#endif
\ No newline at end of file