Anna Bridge
/
UARTSerial_Example3
Defer the reading from and printing to the Serial port, to the global event queue.
main.cpp@0:3a7d1a0a9b0b, 2017-11-10 (annotated)
- Committer:
- AnnaBridge
- Date:
- Fri Nov 10 16:03:09 2017 +0000
- Revision:
- 0:3a7d1a0a9b0b
Additional example for UARTSerial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 0:3a7d1a0a9b0b | 1 | #include "mbed.h" |
AnnaBridge | 0:3a7d1a0a9b0b | 2 | |
AnnaBridge | 0:3a7d1a0a9b0b | 3 | DigitalOut led1(LED1); |
AnnaBridge | 0:3a7d1a0a9b0b | 4 | DigitalOut led2(LED2); |
AnnaBridge | 0:3a7d1a0a9b0b | 5 | |
AnnaBridge | 0:3a7d1a0a9b0b | 6 | UARTSerial pc(USBTX, USBRX); |
AnnaBridge | 0:3a7d1a0a9b0b | 7 | |
AnnaBridge | 0:3a7d1a0a9b0b | 8 | void callback_ex() { |
AnnaBridge | 0:3a7d1a0a9b0b | 9 | while (1) { |
AnnaBridge | 0:3a7d1a0a9b0b | 10 | char c; |
AnnaBridge | 0:3a7d1a0a9b0b | 11 | if (pc.read(&c, 1) != 1) { |
AnnaBridge | 0:3a7d1a0a9b0b | 12 | break; |
AnnaBridge | 0:3a7d1a0a9b0b | 13 | } |
AnnaBridge | 0:3a7d1a0a9b0b | 14 | printf("%c\n", c); |
AnnaBridge | 0:3a7d1a0a9b0b | 15 | led2 = !led2; |
AnnaBridge | 0:3a7d1a0a9b0b | 16 | } |
AnnaBridge | 0:3a7d1a0a9b0b | 17 | } |
AnnaBridge | 0:3a7d1a0a9b0b | 18 | |
AnnaBridge | 0:3a7d1a0a9b0b | 19 | int main() { |
AnnaBridge | 0:3a7d1a0a9b0b | 20 | pc.set_blocking(false); |
AnnaBridge | 0:3a7d1a0a9b0b | 21 | pc.sigio(mbed::mbed_event_queue()->event(callback_ex)); |
AnnaBridge | 0:3a7d1a0a9b0b | 22 | |
AnnaBridge | 0:3a7d1a0a9b0b | 23 | while (1) { |
AnnaBridge | 0:3a7d1a0a9b0b | 24 | led1 = !led1; |
AnnaBridge | 0:3a7d1a0a9b0b | 25 | wait(0.5); |
AnnaBridge | 0:3a7d1a0a9b0b | 26 | } |
AnnaBridge | 0:3a7d1a0a9b0b | 27 | } |
AnnaBridge | 0:3a7d1a0a9b0b | 28 |