Programme d'utilisation servomotors MX12 V1

Committer:
R66Y
Date:
Fri May 19 14:32:14 2017 +0000
Revision:
0:80df663dd15e
programme pour utiliser les servomoteurs MX12.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
R66Y 0:80df663dd15e 1 /* mbed Microcontroller Library - Timer
R66Y 0:80df663dd15e 2 * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
R66Y 0:80df663dd15e 3 */
R66Y 0:80df663dd15e 4
R66Y 0:80df663dd15e 5 #ifndef MBED_TIMER_H
R66Y 0:80df663dd15e 6 #define MBED_TIMER_H
R66Y 0:80df663dd15e 7
R66Y 0:80df663dd15e 8 #include "platform.h"
R66Y 0:80df663dd15e 9 #include "PinNames.h"
R66Y 0:80df663dd15e 10 #include "PeripheralNames.h"
R66Y 0:80df663dd15e 11 #include "Base.h"
R66Y 0:80df663dd15e 12
R66Y 0:80df663dd15e 13 namespace mbed {
R66Y 0:80df663dd15e 14
R66Y 0:80df663dd15e 15 /* Class: Timer
R66Y 0:80df663dd15e 16 * A general purpose timer
R66Y 0:80df663dd15e 17 *
R66Y 0:80df663dd15e 18 * Example:
R66Y 0:80df663dd15e 19 * > // Count the time to toggle a LED
R66Y 0:80df663dd15e 20 * >
R66Y 0:80df663dd15e 21 * > #include "mbed.h"
R66Y 0:80df663dd15e 22 * >
R66Y 0:80df663dd15e 23 * > Timer timer;
R66Y 0:80df663dd15e 24 * > DigitalOut led(LED1);
R66Y 0:80df663dd15e 25 * > int begin, end;
R66Y 0:80df663dd15e 26 * >
R66Y 0:80df663dd15e 27 * > int main() {
R66Y 0:80df663dd15e 28 * > timer.start();
R66Y 0:80df663dd15e 29 * > begin = timer.read_us();
R66Y 0:80df663dd15e 30 * > led = !led;
R66Y 0:80df663dd15e 31 * > end = timer.read_us();
R66Y 0:80df663dd15e 32 * > printf("Toggle the led takes %d us", end - begin);
R66Y 0:80df663dd15e 33 * > }
R66Y 0:80df663dd15e 34 */
R66Y 0:80df663dd15e 35 class Timer : public Base {
R66Y 0:80df663dd15e 36
R66Y 0:80df663dd15e 37 public:
R66Y 0:80df663dd15e 38
R66Y 0:80df663dd15e 39 Timer(const char *name = NULL);
R66Y 0:80df663dd15e 40
R66Y 0:80df663dd15e 41 /* Function: start
R66Y 0:80df663dd15e 42 * Start the timer
R66Y 0:80df663dd15e 43 */
R66Y 0:80df663dd15e 44 void start();
R66Y 0:80df663dd15e 45
R66Y 0:80df663dd15e 46 /* Function: stop
R66Y 0:80df663dd15e 47 * Stop the timer
R66Y 0:80df663dd15e 48 */
R66Y 0:80df663dd15e 49 void stop();
R66Y 0:80df663dd15e 50
R66Y 0:80df663dd15e 51 /* Function: reset
R66Y 0:80df663dd15e 52 * Reset the timer to 0.
R66Y 0:80df663dd15e 53 *
R66Y 0:80df663dd15e 54 * If it was already counting, it will continue
R66Y 0:80df663dd15e 55 */
R66Y 0:80df663dd15e 56 void reset();
R66Y 0:80df663dd15e 57
R66Y 0:80df663dd15e 58 /* Function: read
R66Y 0:80df663dd15e 59 * Get the time passed in seconds
R66Y 0:80df663dd15e 60 */
R66Y 0:80df663dd15e 61 float read();
R66Y 0:80df663dd15e 62
R66Y 0:80df663dd15e 63 /* Function: read_ms
R66Y 0:80df663dd15e 64 * Get the time passed in mili-seconds
R66Y 0:80df663dd15e 65 */
R66Y 0:80df663dd15e 66 int read_ms();
R66Y 0:80df663dd15e 67
R66Y 0:80df663dd15e 68 /* Function: read_us
R66Y 0:80df663dd15e 69 * Get the time passed in micro-seconds
R66Y 0:80df663dd15e 70 */
R66Y 0:80df663dd15e 71 int read_us();
R66Y 0:80df663dd15e 72
R66Y 0:80df663dd15e 73 #ifdef MBED_OPERATORS
R66Y 0:80df663dd15e 74 operator float();
R66Y 0:80df663dd15e 75 #endif
R66Y 0:80df663dd15e 76
R66Y 0:80df663dd15e 77 #ifdef MBED_RPC
R66Y 0:80df663dd15e 78 virtual const struct rpc_method *get_rpc_methods();
R66Y 0:80df663dd15e 79 static struct rpc_class *get_rpc_class();
R66Y 0:80df663dd15e 80 #endif
R66Y 0:80df663dd15e 81
R66Y 0:80df663dd15e 82 protected:
R66Y 0:80df663dd15e 83
R66Y 0:80df663dd15e 84 int slicetime();
R66Y 0:80df663dd15e 85 int _running; // whether the timer is running
R66Y 0:80df663dd15e 86 unsigned int _start; // the start time of the latest slice
R66Y 0:80df663dd15e 87 int _time; // any accumulated time from previous slices
R66Y 0:80df663dd15e 88
R66Y 0:80df663dd15e 89 };
R66Y 0:80df663dd15e 90
R66Y 0:80df663dd15e 91 } // namespace mbed
R66Y 0:80df663dd15e 92
R66Y 0:80df663dd15e 93 #endif