Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os-example-mbed5-blinky by
main.cpp@51:38bcf5ee4cb1, 2017-11-11 (annotated)
- Committer:
- Ladon
- Date:
- Sat Nov 11 15:03:45 2017 +0000
- Revision:
- 51:38bcf5ee4cb1
- Parent:
- 29:0b58d21e87d6
- Child:
- 52:fb9d943f4042
send a number through serial >> blink it in binary using the default LED
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 | 51:38bcf5ee4cb1 | 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 | } |
