send a number through serial USB >> blink it in binary using the default LED
Fork of mbed-os-example-mbed5-blinky by
main.cpp@53:2da3dc1461af, 2017-11-11 (annotated)
- Committer:
- Ladon
- Date:
- Sat Nov 11 15:19:06 2017 +0000
- Revision:
- 53:2da3dc1461af
- Parent:
- 52:fb9d943f4042
simplifying README.md
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan Austin |
0:2757d7abb7d9 | 1 | #include "mbed.h" |
Jonathan Austin |
0:2757d7abb7d9 | 2 | |
Jonathan Austin |
0:2757d7abb7d9 | 3 | DigitalOut led1(LED1); |
Jonathan Austin |
0:2757d7abb7d9 | 4 | |
Ladon | 51:38bcf5ee4cb1 | 5 | Serial pc(USBTX, USBRX); |
Ladon | 51:38bcf5ee4cb1 | 6 | |
Ladon | 51:38bcf5ee4cb1 | 7 | // blink a number in binary // |
Ladon | 51:38bcf5ee4cb1 | 8 | void blink_in_binary (int number); |
Ladon | 51:38bcf5ee4cb1 | 9 | |
Jonathan Austin |
1:846c97078558 | 10 | // main() runs in its own thread in the OS |
Jonathan Austin |
0:2757d7abb7d9 | 11 | int main() { |
Ladon | 51:38bcf5ee4cb1 | 12 | // pc.baud(9600); |
Ladon | 51:38bcf5ee4cb1 | 13 | int number; |
Ladon | 51:38bcf5ee4cb1 | 14 | number = 0; |
Jonathan Austin |
0:2757d7abb7d9 | 15 | while (true) { |
Ladon | 51:38bcf5ee4cb1 | 16 | while (!pc.readable()); |
Ladon | 51:38bcf5ee4cb1 | 17 | pc.scanf("%d", &number); |
Ladon | 52:fb9d943f4042 | 18 | pc.printf("you entered %d\n", number); |
Ladon | 51:38bcf5ee4cb1 | 19 | blink_in_binary(number); |
Jonathan Austin |
0:2757d7abb7d9 | 20 | } |
Jonathan Austin |
0:2757d7abb7d9 | 21 | } |
Jonathan Austin |
1:846c97078558 | 22 | |
Ladon | 51:38bcf5ee4cb1 | 23 | // recursivelly prints left-to-right // |
Ladon | 51:38bcf5ee4cb1 | 24 | void blink_in_binary (int number) |
Ladon | 51:38bcf5ee4cb1 | 25 | { |
Ladon | 51:38bcf5ee4cb1 | 26 | if (number <= 0) |
Ladon | 51:38bcf5ee4cb1 | 27 | return; |
Ladon | 51:38bcf5ee4cb1 | 28 | blink_in_binary (number >> 1); |
Ladon | 51:38bcf5ee4cb1 | 29 | led1 = number & 1; |
Ladon | 51:38bcf5ee4cb1 | 30 | wait(0.3); |
Ladon | 51:38bcf5ee4cb1 | 31 | led1 = 0; |
Ladon | 51:38bcf5ee4cb1 | 32 | wait(0.3); |
Ladon | 51:38bcf5ee4cb1 | 33 | } |