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.
ReactionTimerMain.cpp@0:95d4ede1a32b, 2022-04-13 (annotated)
- Committer:
- pios
- Date:
- Wed Apr 13 15:37:58 2022 +0000
- Revision:
- 0:95d4ede1a32b
MyProgramPios
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| pios | 0:95d4ede1a32b | 1 | #include "mbed.h" |
| pios | 0:95d4ede1a32b | 2 | |
| pios | 0:95d4ede1a32b | 3 | DigitalOut redLED(D11); |
| pios | 0:95d4ede1a32b | 4 | DigitalOut amberLED(D12); |
| pios | 0:95d4ede1a32b | 5 | DigitalOut greenLED(D13); |
| pios | 0:95d4ede1a32b | 6 | |
| pios | 0:95d4ede1a32b | 7 | DigitalIn button(USER_BUTTON); |
| pios | 0:95d4ede1a32b | 8 | |
| pios | 0:95d4ede1a32b | 9 | Timer t; |
| pios | 0:95d4ede1a32b | 10 | |
| pios | 0:95d4ede1a32b | 11 | Serial pc(SERIAL_TX,SERIAL_RX); |
| pios | 0:95d4ede1a32b | 12 | |
| pios | 0:95d4ede1a32b | 13 | float startTime = 0.0; |
| pios | 0:95d4ede1a32b | 14 | float stopTime = 0.0; |
| pios | 0:95d4ede1a32b | 15 | float duration = 0.0; |
| pios | 0:95d4ede1a32b | 16 | |
| pios | 0:95d4ede1a32b | 17 | void flash(){ |
| pios | 0:95d4ede1a32b | 18 | redLED = 1; |
| pios | 0:95d4ede1a32b | 19 | wait(2); |
| pios | 0:95d4ede1a32b | 20 | redLED = 0; |
| pios | 0:95d4ede1a32b | 21 | amberLED = 1; |
| pios | 0:95d4ede1a32b | 22 | wait(1); |
| pios | 0:95d4ede1a32b | 23 | amberLED = 0; |
| pios | 0:95d4ede1a32b | 24 | greenLED = 1; |
| pios | 0:95d4ede1a32b | 25 | } |
| pios | 0:95d4ede1a32b | 26 | |
| pios | 0:95d4ede1a32b | 27 | int main(){ |
| pios | 0:95d4ede1a32b | 28 | float record = 100.0; |
| pios | 0:95d4ede1a32b | 29 | t.start(); |
| pios | 0:95d4ede1a32b | 30 | while(1){ |
| pios | 0:95d4ede1a32b | 31 | flash(); |
| pios | 0:95d4ede1a32b | 32 | startTime = t.read(); |
| pios | 0:95d4ede1a32b | 33 | |
| pios | 0:95d4ede1a32b | 34 | while(stopTime==0.01){ |
| pios | 0:95d4ede1a32b | 35 | if(button!=1){ |
| pios | 0:95d4ede1a32b | 36 | stopTime = t.read(); |
| pios | 0:95d4ede1a32b | 37 | duration = stopTime - startTime; |
| pios | 0:95d4ede1a32b | 38 | pc.printf("Reaction Time = %f Seconds \r\n", duration); |
| pios | 0:95d4ede1a32b | 39 | pc.printf("Record Time = %f Seconds \r\n \r\n", record); |
| pios | 0:95d4ede1a32b | 40 | greenLED = 0; |
| pios | 0:95d4ede1a32b | 41 | wait(5); |
| pios | 0:95d4ede1a32b | 42 | if(duration<=record){ |
| pios | 0:95d4ede1a32b | 43 | record = duration; |
| pios | 0:95d4ede1a32b | 44 | } |
| pios | 0:95d4ede1a32b | 45 | duration = 0.0; |
| pios | 0:95d4ede1a32b | 46 | } |
| pios | 0:95d4ede1a32b | 47 | } |
| pios | 0:95d4ede1a32b | 48 | stopTime = 0.01; |
| pios | 0:95d4ede1a32b | 49 | wait(5.0); |
| pios | 0:95d4ede1a32b | 50 | |
| pios | 0:95d4ede1a32b | 51 | } |
| pios | 0:95d4ede1a32b | 52 | } |
| pios | 0:95d4ede1a32b | 53 | |
| pios | 0:95d4ede1a32b | 54 | |
| pios | 0:95d4ede1a32b | 55 | |
| pios | 0:95d4ede1a32b | 56 | |
| pios | 0:95d4ede1a32b | 57 | |
| pios | 0:95d4ede1a32b | 58 | |
| pios | 0:95d4ede1a32b | 59 | |
| pios | 0:95d4ede1a32b | 60 | |
| pios | 0:95d4ede1a32b | 61 |