Applied engineering Team
/
LA3
11.3
main.cpp@0:ed1071ad2950, 2016-11-24 (annotated)
- Committer:
- Zvonimir_Belic
- Date:
- Thu Nov 24 19:04:12 2016 +0000
- Revision:
- 0:ed1071ad2950
VT4_Beli?_Zvonimir
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Zvonimir_Belic | 0:ed1071ad2950 | 1 | #include "mbed.h" |
Zvonimir_Belic | 0:ed1071ad2950 | 2 | InterruptIn button(p30); // Interrupt on digital input p30 |
Zvonimir_Belic | 0:ed1071ad2950 | 3 | DigitalOut led1(LED1); // digital out to onboard LED1 |
Zvonimir_Belic | 0:ed1071ad2950 | 4 | Timer debounce; // define debounce timer |
Zvonimir_Belic | 0:ed1071ad2950 | 5 | LocalFileSystem local("local"); // define local file system |
Zvonimir_Belic | 0:ed1071ad2950 | 6 | void toggle(void); // function prototype |
Zvonimir_Belic | 0:ed1071ad2950 | 7 | int main() { |
Zvonimir_Belic | 0:ed1071ad2950 | 8 | debounce.start(); // start debounce timer |
Zvonimir_Belic | 0:ed1071ad2950 | 9 | button.rise(&toggle); // attach the toggle function to the rising edge |
Zvonimir_Belic | 0:ed1071ad2950 | 10 | } |
Zvonimir_Belic | 0:ed1071ad2950 | 11 | void toggle() { // perform toggle if debounce time has elapsed |
Zvonimir_Belic | 0:ed1071ad2950 | 12 | if (debounce.read_ms()>200) { |
Zvonimir_Belic | 0:ed1071ad2950 | 13 | led1=!led1; // toggle LED |
Zvonimir_Belic | 0:ed1071ad2950 | 14 | FILE* Logfile = fopen ("/local/log.txt","a"); // open file for appending |
Zvonimir_Belic | 0:ed1071ad2950 | 15 | fprintf(Logfile,"time=%.3fs: setting led=%d\n\r",debounce.read(),led1.read()); |
Zvonimir_Belic | 0:ed1071ad2950 | 16 | fclose(Logfile); // close file |
Zvonimir_Belic | 0:ed1071ad2950 | 17 | debounce.reset(); // reset debounce timer |
Zvonimir_Belic | 0:ed1071ad2950 | 18 | } |
Zvonimir_Belic | 0:ed1071ad2950 | 19 | } |