summaryrefslogtreecommitdiff
path: root/examples/device/nrf52840_freertos/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/device/nrf52840_freertos/src/main.c')
-rw-r--r--examples/device/nrf52840_freertos/src/main.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/examples/device/nrf52840_freertos/src/main.c b/examples/device/nrf52840_freertos/src/main.c
index 6fb76a84d..d5a5d0c2c 100644
--- a/examples/device/nrf52840_freertos/src/main.c
+++ b/examples/device/nrf52840_freertos/src/main.c
@@ -101,18 +101,32 @@ void cdc_task(void* params)
while ( 1 )
{
// connected and there are data available
- if ( tud_mounted() && tud_cdc_available() )
+ if ( tud_cdc_connected() )
{
- uint8_t buf[64];
+ if ( tud_cdc_available() )
+ {
+ uint8_t buf[64];
+
+ // read and echo back
+ uint32_t count = tud_cdc_read(buf, sizeof(buf));
- // read and echo back
- uint32_t count = tud_cdc_read(buf, sizeof(buf));
+ tud_cdc_write(buf, count);
+ }
- tud_cdc_write(buf, count);
tud_cdc_write_flush();
}
+ }
+}
+
+void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
+{
+ (void) itf;
- taskYIELD();
+ // connected
+ if ( dtr && rts )
+ {
+ // print greeting
+ tud_cdc_write_str("tinyusb usb cdc\n");
}
}
#endif