Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

Committer:
simon.ford@mbed.co.uk
Date:
Tue Apr 08 14:12:21 2008 +0000
Revision:
0:82220227f4fa
Child:
1:6b7f447ca868
A first develoment release of the mbed libraries

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon.ford@mbed.co.uk 0:82220227f4fa 1 /* mbed Microcontroller Library - Timer
simon.ford@mbed.co.uk 0:82220227f4fa 2 * Copyright (c) 2007-2008, sford
simon.ford@mbed.co.uk 0:82220227f4fa 3 */
simon.ford@mbed.co.uk 0:82220227f4fa 4
simon.ford@mbed.co.uk 0:82220227f4fa 5 #ifndef MBED_TIMER_H
simon.ford@mbed.co.uk 0:82220227f4fa 6 #define MBED_TIMER_H
simon.ford@mbed.co.uk 0:82220227f4fa 7
simon.ford@mbed.co.uk 0:82220227f4fa 8 #include "Base.h"
simon.ford@mbed.co.uk 0:82220227f4fa 9
simon.ford@mbed.co.uk 0:82220227f4fa 10 namespace mbed {
simon.ford@mbed.co.uk 0:82220227f4fa 11
simon.ford@mbed.co.uk 0:82220227f4fa 12 /* Class: Timer
simon.ford@mbed.co.uk 0:82220227f4fa 13 * A general purpose timer
simon.ford@mbed.co.uk 0:82220227f4fa 14 */
simon.ford@mbed.co.uk 0:82220227f4fa 15 class Timer : public Base {
simon.ford@mbed.co.uk 0:82220227f4fa 16
simon.ford@mbed.co.uk 0:82220227f4fa 17 public:
simon.ford@mbed.co.uk 0:82220227f4fa 18
simon.ford@mbed.co.uk 0:82220227f4fa 19 Timer();
simon.ford@mbed.co.uk 0:82220227f4fa 20
simon.ford@mbed.co.uk 0:82220227f4fa 21 /* Group: Access Methods */
simon.ford@mbed.co.uk 0:82220227f4fa 22
simon.ford@mbed.co.uk 0:82220227f4fa 23 /* Function: start
simon.ford@mbed.co.uk 0:82220227f4fa 24 * Start the timer
simon.ford@mbed.co.uk 0:82220227f4fa 25 */
simon.ford@mbed.co.uk 0:82220227f4fa 26 void start();
simon.ford@mbed.co.uk 0:82220227f4fa 27
simon.ford@mbed.co.uk 0:82220227f4fa 28 /* Function: stop
simon.ford@mbed.co.uk 0:82220227f4fa 29 * Stop the timer
simon.ford@mbed.co.uk 0:82220227f4fa 30 */
simon.ford@mbed.co.uk 0:82220227f4fa 31 void stop();
simon.ford@mbed.co.uk 0:82220227f4fa 32
simon.ford@mbed.co.uk 0:82220227f4fa 33 /* Function: reset
simon.ford@mbed.co.uk 0:82220227f4fa 34 * Reset the timer to 0.
simon.ford@mbed.co.uk 0:82220227f4fa 35 *
simon.ford@mbed.co.uk 0:82220227f4fa 36 * If it was already counting, it will continue
simon.ford@mbed.co.uk 0:82220227f4fa 37 */
simon.ford@mbed.co.uk 0:82220227f4fa 38 void reset();
simon.ford@mbed.co.uk 0:82220227f4fa 39
simon.ford@mbed.co.uk 0:82220227f4fa 40 /* Function: read
simon.ford@mbed.co.uk 0:82220227f4fa 41 * Get the time passed in seconds
simon.ford@mbed.co.uk 0:82220227f4fa 42 */
simon.ford@mbed.co.uk 0:82220227f4fa 43 float read();
simon.ford@mbed.co.uk 0:82220227f4fa 44
simon.ford@mbed.co.uk 0:82220227f4fa 45 /* Function: read_ms
simon.ford@mbed.co.uk 0:82220227f4fa 46 * Get the time passed in mili-seconds
simon.ford@mbed.co.uk 0:82220227f4fa 47 */
simon.ford@mbed.co.uk 0:82220227f4fa 48 int read_ms();
simon.ford@mbed.co.uk 0:82220227f4fa 49
simon.ford@mbed.co.uk 0:82220227f4fa 50 /* Function: read_us
simon.ford@mbed.co.uk 0:82220227f4fa 51 * Get the time passed in micro-seconds
simon.ford@mbed.co.uk 0:82220227f4fa 52 */
simon.ford@mbed.co.uk 0:82220227f4fa 53 int read_us();
simon.ford@mbed.co.uk 0:82220227f4fa 54
simon.ford@mbed.co.uk 0:82220227f4fa 55 operator float();
simon.ford@mbed.co.uk 0:82220227f4fa 56
simon.ford@mbed.co.uk 0:82220227f4fa 57 int slicetime();
simon.ford@mbed.co.uk 0:82220227f4fa 58
simon.ford@mbed.co.uk 0:82220227f4fa 59 int _running; // whether the timer is running
simon.ford@mbed.co.uk 0:82220227f4fa 60 unsigned int _start; // the start time of the latest slice
simon.ford@mbed.co.uk 0:82220227f4fa 61 int _time; // any accumulated time from previous slices
simon.ford@mbed.co.uk 0:82220227f4fa 62
simon.ford@mbed.co.uk 0:82220227f4fa 63 };
simon.ford@mbed.co.uk 0:82220227f4fa 64
simon.ford@mbed.co.uk 0:82220227f4fa 65 }
simon.ford@mbed.co.uk 0:82220227f4fa 66
simon.ford@mbed.co.uk 0:82220227f4fa 67 #endif