reading only one interrupt when it changes its value
Dependencies: Hotboards_switches mbed
Diff: main.cpp
- Revision:
- 0:e4efa77cbd55
- Child:
- 1:af16896c2662
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Mar 02 20:34:27 2016 +0000
@@ -0,0 +1,41 @@
+
+/*
+ * Reads an input on pin PB_4, only when its value has been changed
+ */
+
+#include "mbed.h"
+#include "Hotboards_switches.h"
+
+// Creates a single sw object, this interrupt will give us a LOW(0) value when close
+// because our dip switch works with pull-ups
+Hotboards_switches sw( PB_4 );
+// If your dip switch will gave you a HIGH(1) value when close, then we need to create
+// the sw object with an extra parameter: Hotboards_switches sw( PB_4 , 1 );
+// In any case the function will return a HIGH(1) value any time the sw is closed
+
+// For this example we will use the USB serial port, here we initialize it
+Serial pc(USBTX,USBRX);
+
+int main()
+{
+ while(1)
+ {
+ //Asks when the interrupt changes its value
+ if( sw.hasItChange( ) )
+ {
+ // When the interrupt is close (or ON) the function will return a true value
+ // it doesn´t matter if our input is configured with pull-ups(LOW) or
+ // pull-downs(HIGH)
+ if( sw.read( ) )
+ {
+ pc.printf( "sw = close (on)\n\r" );
+ }
+ else
+ {
+ pc.printf( "sw = open (off)\n\r" );
+ }
+ // Wait 250 ms, just to not query so often
+ wait_ms( 250 );
+ }
+ }
+}
Roman Valencia