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 - PortInOut
R66Y 0:80df663dd15e 2 * Copyright (c) 2006-2011 ARM Limited. All rights reserved.
R66Y 0:80df663dd15e 3 */
R66Y 0:80df663dd15e 4
R66Y 0:80df663dd15e 5 #ifndef MBED_PORTIN_H
R66Y 0:80df663dd15e 6 #define MBED_PORTIN_H
R66Y 0:80df663dd15e 7
R66Y 0:80df663dd15e 8 #include "device.h"
R66Y 0:80df663dd15e 9
R66Y 0:80df663dd15e 10 #if DEVICE_PORTIN
R66Y 0:80df663dd15e 11
R66Y 0:80df663dd15e 12 #include "PortNames.h"
R66Y 0:80df663dd15e 13 #include "PinNames.h"
R66Y 0:80df663dd15e 14
R66Y 0:80df663dd15e 15 namespace mbed {
R66Y 0:80df663dd15e 16
R66Y 0:80df663dd15e 17 /* Class: PortIn
R66Y 0:80df663dd15e 18 * A multiple pin digital input
R66Y 0:80df663dd15e 19 *
R66Y 0:80df663dd15e 20 * Example:
R66Y 0:80df663dd15e 21 * > // Switch on an LED if any of mbed pins 21-26 is high
R66Y 0:80df663dd15e 22 * >
R66Y 0:80df663dd15e 23 * > #include "mbed.h"
R66Y 0:80df663dd15e 24 * >
R66Y 0:80df663dd15e 25 * > PortIn p(Port2, 0x0000003F); // p21-p26
R66Y 0:80df663dd15e 26 * > DigitalOut ind(LED4);
R66Y 0:80df663dd15e 27 * >
R66Y 0:80df663dd15e 28 * > int main() {
R66Y 0:80df663dd15e 29 * > while(1) {
R66Y 0:80df663dd15e 30 * > int pins = p.read();
R66Y 0:80df663dd15e 31 * > if(pins) {
R66Y 0:80df663dd15e 32 * > ind = 1;
R66Y 0:80df663dd15e 33 * > } else {
R66Y 0:80df663dd15e 34 * > ind = 0;
R66Y 0:80df663dd15e 35 * > }
R66Y 0:80df663dd15e 36 * > }
R66Y 0:80df663dd15e 37 * > }
R66Y 0:80df663dd15e 38 */
R66Y 0:80df663dd15e 39 class PortIn {
R66Y 0:80df663dd15e 40 public:
R66Y 0:80df663dd15e 41
R66Y 0:80df663dd15e 42 /* Constructor: PortIn
R66Y 0:80df663dd15e 43 * Create an PortIn, connected to the specified port
R66Y 0:80df663dd15e 44 *
R66Y 0:80df663dd15e 45 * Variables:
R66Y 0:80df663dd15e 46 * port - Port to connect to (Port0-Port5)
R66Y 0:80df663dd15e 47 * mask - A bitmask to identify which bits in the port should be included (0 - ignore)
R66Y 0:80df663dd15e 48 */
R66Y 0:80df663dd15e 49 PortIn(PortName port, int mask = 0xFFFFFFFF);
R66Y 0:80df663dd15e 50
R66Y 0:80df663dd15e 51 /* Function: read
R66Y 0:80df663dd15e 52 * Read the value currently output on the port
R66Y 0:80df663dd15e 53 *
R66Y 0:80df663dd15e 54 * Variables:
R66Y 0:80df663dd15e 55 * returns - An integer with each bit corresponding to associated port pin setting
R66Y 0:80df663dd15e 56 */
R66Y 0:80df663dd15e 57 int read();
R66Y 0:80df663dd15e 58
R66Y 0:80df663dd15e 59 /* Function: mode
R66Y 0:80df663dd15e 60 * Set the input pin mode
R66Y 0:80df663dd15e 61 *
R66Y 0:80df663dd15e 62 * Variables:
R66Y 0:80df663dd15e 63 * mode - PullUp, PullDown, PullNone, OpenDrain
R66Y 0:80df663dd15e 64 */
R66Y 0:80df663dd15e 65 void mode(PinMode mode);
R66Y 0:80df663dd15e 66
R66Y 0:80df663dd15e 67 /* Function: operator int()
R66Y 0:80df663dd15e 68 * A shorthand for <read>
R66Y 0:80df663dd15e 69 */
R66Y 0:80df663dd15e 70 operator int() {
R66Y 0:80df663dd15e 71 return read();
R66Y 0:80df663dd15e 72 }
R66Y 0:80df663dd15e 73
R66Y 0:80df663dd15e 74 private:
R66Y 0:80df663dd15e 75 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
R66Y 0:80df663dd15e 76 LPC_GPIO_TypeDef *_gpio;
R66Y 0:80df663dd15e 77 #endif
R66Y 0:80df663dd15e 78 PortName _port;
R66Y 0:80df663dd15e 79 uint32_t _mask;
R66Y 0:80df663dd15e 80 };
R66Y 0:80df663dd15e 81
R66Y 0:80df663dd15e 82 } // namespace mbed
R66Y 0:80df663dd15e 83
R66Y 0:80df663dd15e 84 #endif
R66Y 0:80df663dd15e 85
R66Y 0:80df663dd15e 86 #endif