
LED1 Blinky UART3 Rx/Tx
main.cpp@0:f27fda4d5420, 2017-11-06 (annotated)
- Committer:
- xtra72
- Date:
- Mon Nov 06 02:44:45 2017 +0000
- Revision:
- 0:f27fda4d5420
Add serial in/out
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xtra72 | 0:f27fda4d5420 | 1 | #include "mbed.h" |
xtra72 | 0:f27fda4d5420 | 2 | |
xtra72 | 0:f27fda4d5420 | 3 | Serial serial(D1,D0); |
xtra72 | 0:f27fda4d5420 | 4 | DigitalOut led1(LED1); |
xtra72 | 0:f27fda4d5420 | 5 | Timer timer; |
xtra72 | 0:f27fda4d5420 | 6 | |
xtra72 | 0:f27fda4d5420 | 7 | // main() runs in its own thread in the OS |
xtra72 | 0:f27fda4d5420 | 8 | int main() { |
xtra72 | 0:f27fda4d5420 | 9 | char buffer[256]; |
xtra72 | 0:f27fda4d5420 | 10 | |
xtra72 | 0:f27fda4d5420 | 11 | serial.baud(9600); |
xtra72 | 0:f27fda4d5420 | 12 | timer.start(); |
xtra72 | 0:f27fda4d5420 | 13 | |
xtra72 | 0:f27fda4d5420 | 14 | printf("Blinky example!\n"); |
xtra72 | 0:f27fda4d5420 | 15 | while (true) |
xtra72 | 0:f27fda4d5420 | 16 | { |
xtra72 | 0:f27fda4d5420 | 17 | int read_line = 0; |
xtra72 | 0:f27fda4d5420 | 18 | timer.reset(); |
xtra72 | 0:f27fda4d5420 | 19 | |
xtra72 | 0:f27fda4d5420 | 20 | while (timer.read_ms() < 500) |
xtra72 | 0:f27fda4d5420 | 21 | { |
xtra72 | 0:f27fda4d5420 | 22 | if (serial.readable() && read_line < sizeof(buffer) - 1) |
xtra72 | 0:f27fda4d5420 | 23 | { |
xtra72 | 0:f27fda4d5420 | 24 | buffer[read_line++] = serial.getc(); |
xtra72 | 0:f27fda4d5420 | 25 | } |
xtra72 | 0:f27fda4d5420 | 26 | |
xtra72 | 0:f27fda4d5420 | 27 | wait_ms(1); |
xtra72 | 0:f27fda4d5420 | 28 | } |
xtra72 | 0:f27fda4d5420 | 29 | buffer[read_line] = 0; |
xtra72 | 0:f27fda4d5420 | 30 | |
xtra72 | 0:f27fda4d5420 | 31 | led1 = !led1; |
xtra72 | 0:f27fda4d5420 | 32 | serial.printf("Led state is %s\r\n", ((led1.read())?"on":"off")); |
xtra72 | 0:f27fda4d5420 | 33 | |
xtra72 | 0:f27fda4d5420 | 34 | |
xtra72 | 0:f27fda4d5420 | 35 | if (read_line != 0) |
xtra72 | 0:f27fda4d5420 | 36 | { |
xtra72 | 0:f27fda4d5420 | 37 | serial.printf("Read Line : %s\r\n", buffer); |
xtra72 | 0:f27fda4d5420 | 38 | } |
xtra72 | 0:f27fda4d5420 | 39 | else |
xtra72 | 0:f27fda4d5420 | 40 | { |
xtra72 | 0:f27fda4d5420 | 41 | serial.printf("Read line empty!\r\n"); |
xtra72 | 0:f27fda4d5420 | 42 | } |
xtra72 | 0:f27fda4d5420 | 43 | } |
xtra72 | 0:f27fda4d5420 | 44 | } |
xtra72 | 0:f27fda4d5420 | 45 |