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.
main.cpp@0:9fca2b23d0ba, 2019-02-23 (annotated)
- Committer:
- marcozecchini
- Date:
- Sat Feb 23 12:13:36 2019 +0000
- Revision:
- 0:9fca2b23d0ba
final commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| marcozecchini | 0:9fca2b23d0ba | 1 | #include "mbed.h" |
| marcozecchini | 0:9fca2b23d0ba | 2 | #define BUF_SIZE 10 |
| marcozecchini | 0:9fca2b23d0ba | 3 | |
| marcozecchini | 0:9fca2b23d0ba | 4 | Thread thread; |
| marcozecchini | 0:9fca2b23d0ba | 5 | CircularBuffer<char, BUF_SIZE> buf; |
| marcozecchini | 0:9fca2b23d0ba | 6 | int bytes = 0; |
| marcozecchini | 0:9fca2b23d0ba | 7 | |
| marcozecchini | 0:9fca2b23d0ba | 8 | void print_string(char data_stream[] = "Thread") |
| marcozecchini | 0:9fca2b23d0ba | 9 | { |
| marcozecchini | 0:9fca2b23d0ba | 10 | while (!buf.full()) { |
| marcozecchini | 0:9fca2b23d0ba | 11 | buf.push(data_stream[bytes++ % 6]); |
| marcozecchini | 0:9fca2b23d0ba | 12 | } |
| marcozecchini | 0:9fca2b23d0ba | 13 | } |
| marcozecchini | 0:9fca2b23d0ba | 14 | |
| marcozecchini | 0:9fca2b23d0ba | 15 | void print_thread() |
| marcozecchini | 0:9fca2b23d0ba | 16 | { |
| marcozecchini | 0:9fca2b23d0ba | 17 | while (true) { |
| marcozecchini | 0:9fca2b23d0ba | 18 | wait(1); |
| marcozecchini | 0:9fca2b23d0ba | 19 | print_string(); |
| marcozecchini | 0:9fca2b23d0ba | 20 | } |
| marcozecchini | 0:9fca2b23d0ba | 21 | } |
| marcozecchini | 0:9fca2b23d0ba | 22 | |
| marcozecchini | 0:9fca2b23d0ba | 23 | int main() |
| marcozecchini | 0:9fca2b23d0ba | 24 | { |
| marcozecchini | 0:9fca2b23d0ba | 25 | printf("\n\n*** RTOS - CircularBuffer basic example ***\n"); |
| marcozecchini | 0:9fca2b23d0ba | 26 | |
| marcozecchini | 0:9fca2b23d0ba | 27 | thread.start(print_thread); |
| marcozecchini | 0:9fca2b23d0ba | 28 | char data; |
| marcozecchini | 0:9fca2b23d0ba | 29 | while (true) { |
| marcozecchini | 0:9fca2b23d0ba | 30 | printf ("\n\rBuffer contents: "); |
| marcozecchini | 0:9fca2b23d0ba | 31 | while (!buf.empty()) { |
| marcozecchini | 0:9fca2b23d0ba | 32 | buf.pop(data); |
| marcozecchini | 0:9fca2b23d0ba | 33 | printf("%c", data); |
| marcozecchini | 0:9fca2b23d0ba | 34 | } |
| marcozecchini | 0:9fca2b23d0ba | 35 | printf("\n"); |
| marcozecchini | 0:9fca2b23d0ba | 36 | wait(1); |
| marcozecchini | 0:9fca2b23d0ba | 37 | } |
| marcozecchini | 0:9fca2b23d0ba | 38 | } |