Charles Tritt
/
21_ConsoleIO_v5
Use this project as a starting point for simple IO testing in Mbed. This is the initial version.
main.cpp@114:1cfad1babb55, 2021-10-12 (annotated)
- Committer:
- CSTritt
- Date:
- Tue Oct 12 21:48:12 2021 +0000
- Revision:
- 114:1cfad1babb55
- Parent:
- 113:cc5beacdad5a
- Child:
- 115:f22cbbc92bae
Initial version.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CSTritt | 107:61b9c99a4e27 | 1 | /* |
CSTritt | 114:1cfad1babb55 | 2 | Project: 21_ScopeEx1_v5 |
CSTritt | 109:b061f9830736 | 3 | File: main.cpp |
CSTritt | 111:956b1c606b66 | 4 | |
CSTritt | 111:956b1c606b66 | 5 | This simple program demonstrates that C passes arguments by value. |
CSTritt | 114:1cfad1babb55 | 6 | |
CSTritt | 114:1cfad1babb55 | 7 | Uses VT-100 escape sequences to prevent scrolling. See |
CSTritt | 114:1cfad1babb55 | 8 | http://www.csie.ntu.edu.tw/~r92094/c++/VT100.html and/or |
CSTritt | 113:cc5beacdad5a | 9 | https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797. |
CSTritt | 114:1cfad1babb55 | 10 | |
CSTritt | 113:cc5beacdad5a | 11 | Written by: Dr. C. S. Tritt; Last revised 10/11/21 (v. 1.1) |
CSTritt | 107:61b9c99a4e27 | 12 | */ |
Jonathan Austin |
0:2757d7abb7d9 | 13 | #include "mbed.h" |
CSTritt | 108:eee3167b25b4 | 14 | |
CSTritt | 114:1cfad1babb55 | 15 | int main() |
CSTritt | 114:1cfad1babb55 | 16 | { |
CSTritt | 114:1cfad1babb55 | 17 | const int DELAY = 2000000;; // mS wait time. |
CSTritt | 114:1cfad1babb55 | 18 | const char ESC = 27; // Define escape character for escape sequence. |
CSTritt | 114:1cfad1babb55 | 19 | printf("%c[2J%c[H", ESC, ESC); // ANSI/VT100 clear screen/home. |
CSTritt | 111:956b1c606b66 | 20 | |
CSTritt | 114:1cfad1babb55 | 21 | int count1 = 1; // Declared in outer block |
CSTritt | 111:956b1c606b66 | 22 | |
CSTritt | 114:1cfad1babb55 | 23 | do { // Do while construct may be new to you! |
CSTritt | 114:1cfad1babb55 | 24 | int count2 = 0; // Declared & initialized in inner block |
CSTritt | 114:1cfad1babb55 | 25 | ++count2; // Ineffective due to line above! |
CSTritt | 114:1cfad1babb55 | 26 | printf("count1 = %d count2 = %d\n", count1, count2); |
CSTritt | 114:1cfad1babb55 | 27 | // Note that count1 is incremented in while test! |
CSTritt | 114:1cfad1babb55 | 28 | } while (++count1 <= 5); // count2 no longer exists after loop exit. |
CSTritt | 114:1cfad1babb55 | 29 | |
CSTritt | 114:1cfad1babb55 | 30 | printf("count1 = %d\n", count1); |
CSTritt | 114:1cfad1babb55 | 31 | return 0; |
CSTritt | 114:1cfad1babb55 | 32 | |
CSTritt | 114:1cfad1babb55 | 33 | while(true) { // Main forever loop. |
CSTritt | 113:cc5beacdad5a | 34 | ThisThread::sleep_for(DELAY); // Pause |
CSTritt | 108:eee3167b25b4 | 35 | } |
CSTritt | 113:cc5beacdad5a | 36 | } |