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.
Fork of mbed by
Timer.h
00001 /* mbed Microcontroller Library - Timer 00002 * Copyright (c) 2007-2009 ARM Limited. All rights reserved. 00003 */ 00004 00005 #ifndef MBED_TIMER_H 00006 #define MBED_TIMER_H 00007 00008 #include "platform.h" 00009 #include "PinNames.h" 00010 #include "PeripheralNames.h" 00011 #include "Base.h" 00012 00013 namespace mbed { 00014 00015 /** A general purpose timer 00016 * 00017 * Example: 00018 * @code 00019 * // Count the time to toggle a LED 00020 * 00021 * #include "mbed.h" 00022 * 00023 * Timer timer; 00024 * DigitalOut led(LED1); 00025 * int begin, end; 00026 * 00027 * int main() { 00028 * timer.start(); 00029 * begin = timer.read_us(); 00030 * led = !led; 00031 * end = timer.read_us(); 00032 * printf("Toggle the led takes %d us", end - begin); 00033 * } 00034 * @endcode 00035 */ 00036 class Timer : public Base { 00037 00038 public: 00039 00040 Timer(const char *name = NULL); 00041 00042 /** Start the timer 00043 */ 00044 void start(); 00045 00046 /** Stop the timer 00047 */ 00048 void stop(); 00049 00050 /** Reset the timer to 0. 00051 * 00052 * If it was already counting, it will continue 00053 */ 00054 void reset(); 00055 00056 /** Get the time passed in seconds 00057 */ 00058 float read(); 00059 00060 /** Get the time passed in mili-seconds 00061 */ 00062 int read_ms(); 00063 00064 /** Get the time passed in micro-seconds 00065 */ 00066 int read_us(); 00067 00068 #ifdef MBED_OPERATORS 00069 operator float(); 00070 #endif 00071 00072 #ifdef MBED_RPC 00073 virtual const struct rpc_method *get_rpc_methods(); 00074 static struct rpc_class *get_rpc_class(); 00075 #endif 00076 00077 protected: 00078 00079 int slicetime(); 00080 int _running; // whether the timer is running 00081 unsigned int _start; // the start time of the latest slice 00082 int _time; // any accumulated time from previous slices 00083 00084 }; 00085 00086 } // namespace mbed 00087 00088 #endif 00089
Generated on Tue Jul 12 2022 20:12:26 by
