diff options
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.cpp | 34 |
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); + } +} |