Timer for accumulating 10 ms intervals that does not overflow after ~30 min
This class simply creates a timer that accumulates 10 millisecond intervals which does not overflow after about 30 min.
RunTimer.h@0:21dc6ad1a795, 2016-05-19 (annotated)
- Committer:
- jebradshaw
- Date:
- Thu May 19 13:37:02 2016 +0000
- Revision:
- 0:21dc6ad1a795
- Child:
- 2:67e16d628edc
class for creating a timer that runs at 10 milliseconds
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jebradshaw | 0:21dc6ad1a795 | 1 | /** RunTimer class. |
jebradshaw | 0:21dc6ad1a795 | 2 | * J. Bradshaw 20160519 |
jebradshaw | 0:21dc6ad1a795 | 3 | * library for building a 10 millisecond running timer |
jebradshaw | 0:21dc6ad1a795 | 4 | * |
jebradshaw | 0:21dc6ad1a795 | 5 | * Example: |
jebradshaw | 0:21dc6ad1a795 | 6 | * @code |
jebradshaw | 0:21dc6ad1a795 | 7 | * #include "mbed.h" |
jebradshaw | 0:21dc6ad1a795 | 8 | * #include "RunTimer.h" |
jebradshaw | 0:21dc6ad1a795 | 9 | * |
jebradshaw | 0:21dc6ad1a795 | 10 | * Serial pc(USBTX,USBRX); |
jebradshaw | 0:21dc6ad1a795 | 11 | * RunTimer runTime; |
jebradshaw | 0:21dc6ad1a795 | 12 | * |
jebradshaw | 0:21dc6ad1a795 | 13 | * int main() { |
jebradshaw | 0:21dc6ad1a795 | 14 | * while(1){ |
jebradshaw | 0:21dc6ad1a795 | 15 | * pc.printf("Time=day=%02d hour=%02d min=%02d sec=%02d ms=%02d \r\n", runTime.day,runTime.hour,runTime.min,runTime.sec,runTime.ms) |
jebradshaw | 0:21dc6ad1a795 | 16 | * wait(.02); |
jebradshaw | 0:21dc6ad1a795 | 17 | * } |
jebradshaw | 0:21dc6ad1a795 | 18 | * } |
jebradshaw | 0:21dc6ad1a795 | 19 | * @endcode |
jebradshaw | 0:21dc6ad1a795 | 20 | */ |
jebradshaw | 0:21dc6ad1a795 | 21 | #ifndef MBED_RUNTIMER_H |
jebradshaw | 0:21dc6ad1a795 | 22 | #define MBED_RUNTIMER_H |
jebradshaw | 0:21dc6ad1a795 | 23 | |
jebradshaw | 0:21dc6ad1a795 | 24 | #include "mbed.h" |
jebradshaw | 0:21dc6ad1a795 | 25 | |
jebradshaw | 0:21dc6ad1a795 | 26 | class RunTimer{ |
jebradshaw | 0:21dc6ad1a795 | 27 | |
jebradshaw | 0:21dc6ad1a795 | 28 | public: |
jebradshaw | 0:21dc6ad1a795 | 29 | RunTimer(); |
jebradshaw | 0:21dc6ad1a795 | 30 | |
jebradshaw | 0:21dc6ad1a795 | 31 | void timeAcc(void); |
jebradshaw | 0:21dc6ad1a795 | 32 | void Reset(void); |
jebradshaw | 0:21dc6ad1a795 | 33 | |
jebradshaw | 0:21dc6ad1a795 | 34 | Ticker timer_10ms; //Ticker for adding 10ms |
jebradshaw | 0:21dc6ad1a795 | 35 | |
jebradshaw | 0:21dc6ad1a795 | 36 | unsigned int ms; |
jebradshaw | 0:21dc6ad1a795 | 37 | unsigned int sec; |
jebradshaw | 0:21dc6ad1a795 | 38 | unsigned int min; |
jebradshaw | 0:21dc6ad1a795 | 39 | unsigned int hour; |
jebradshaw | 0:21dc6ad1a795 | 40 | unsigned int days; |
jebradshaw | 0:21dc6ad1a795 | 41 | }; |
jebradshaw | 0:21dc6ad1a795 | 42 | |
jebradshaw | 0:21dc6ad1a795 | 43 | #endif |