summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/echo_flow_control/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/echo_flow_control/main.cpp')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/echo_flow_control/main.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/echo_flow_control/main.cpp b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/echo_flow_control/main.cpp
new file mode 100644
index 0000000000..327bca62d4
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/echo_flow_control/main.cpp
@@ -0,0 +1,34 @@
+#include "mbed.h"
+
+#if defined(TARGET_LPC1768)
+#define UART_TX p9
+#define UART_RX p10
+#define FLOW_CONTROL_RTS p30
+#define FLOW_CONTROL_CTS p29
+#define RTS_CHECK_PIN p8
+#else
+#error This test is not supported on this target
+#endif
+
+Serial pc(UART_TX, UART_RX);
+
+#ifdef RTS_CHECK_PIN
+InterruptIn in(RTS_CHECK_PIN);
+DigitalOut led(LED1);
+static void checker(void) {
+ led = !led;
+}
+#endif
+
+int main() {
+ char buf[256];
+
+ pc.set_flow_control(Serial::RTSCTS, FLOW_CONTROL_RTS, FLOW_CONTROL_CTS);
+#ifdef RTS_CHECK_PIN
+ in.fall(checker);
+#endif
+ while (1) {
+ pc.gets(buf, 256);
+ pc.printf("%s", buf);
+ }
+}