Programme d'utilisation des AX12 et de l'MX12 V3. 0C = action de l'MX12. (data0) 0 | 1 | 2 = position & sens de rotation

Dependencies:   MX12

Fork of Utilisatio_MX12_V3 by CRAC Team

Committer:
R66Y
Date:
Sat May 20 18:12:28 2017 +0000
Revision:
5:bb953eda06e7
Parent:
1:f3f702086a30
Derni?re version de l'MX12.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ClementBreteau 1:f3f702086a30 1 /* mbed Microcontroller Library - SPIHalfDuplex
ClementBreteau 1:f3f702086a30 2 * Copyright (c) 2010-2011 ARM Limited. All rights reserved.
ClementBreteau 1:f3f702086a30 3 */
ClementBreteau 1:f3f702086a30 4
ClementBreteau 1:f3f702086a30 5 #ifndef MBED_SPIHALFDUPLEX_H
ClementBreteau 1:f3f702086a30 6 #define MBED_SPIHALFDUPLEX_H
ClementBreteau 1:f3f702086a30 7
ClementBreteau 1:f3f702086a30 8 #include "device.h"
ClementBreteau 1:f3f702086a30 9
ClementBreteau 1:f3f702086a30 10 #if DEVICE_SPI
ClementBreteau 1:f3f702086a30 11
ClementBreteau 1:f3f702086a30 12 #include "SPI.h"
ClementBreteau 1:f3f702086a30 13
ClementBreteau 1:f3f702086a30 14 namespace mbed {
ClementBreteau 1:f3f702086a30 15
ClementBreteau 1:f3f702086a30 16 /* Class: SPIHalfDuplex
ClementBreteau 1:f3f702086a30 17 * A SPI half-duplex master, used for communicating with SPI slave devices
ClementBreteau 1:f3f702086a30 18 * over a shared data line.
ClementBreteau 1:f3f702086a30 19 *
ClementBreteau 1:f3f702086a30 20 * The default format is set to 8-bits for both master and slave, and a
ClementBreteau 1:f3f702086a30 21 * clock frequency of 1MHz
ClementBreteau 1:f3f702086a30 22 *
ClementBreteau 1:f3f702086a30 23 * Most SPI devies will also require Chip Select and Reset signals. These
ClementBreteau 1:f3f702086a30 24 * can be controlled using <DigitalOut> pins.
ClementBreteau 1:f3f702086a30 25 *
ClementBreteau 1:f3f702086a30 26 * Although this is for a shared data line, both MISO and MOSI are defined,
ClementBreteau 1:f3f702086a30 27 * and should be tied together externally to the mbed. This class handles
ClementBreteau 1:f3f702086a30 28 * the tri-stating of the MOSI pin.
ClementBreteau 1:f3f702086a30 29 *
ClementBreteau 1:f3f702086a30 30 * Example:
ClementBreteau 1:f3f702086a30 31 * > // Send a byte to a SPI half-duplex slave, and record the response
ClementBreteau 1:f3f702086a30 32 * >
ClementBreteau 1:f3f702086a30 33 * > #include "mbed.h"
ClementBreteau 1:f3f702086a30 34 * >
ClementBreteau 1:f3f702086a30 35 * > SPIHalfDuplex device(p5, p6, p7) // mosi, miso, sclk
ClementBreteau 1:f3f702086a30 36 * >
ClementBreteau 1:f3f702086a30 37 * > int main() {
ClementBreteau 1:f3f702086a30 38 * > int respone = device.write(0xAA);
ClementBreteau 1:f3f702086a30 39 * > }
ClementBreteau 1:f3f702086a30 40 */
ClementBreteau 1:f3f702086a30 41
ClementBreteau 1:f3f702086a30 42 class SPIHalfDuplex : public SPI {
ClementBreteau 1:f3f702086a30 43
ClementBreteau 1:f3f702086a30 44 public:
ClementBreteau 1:f3f702086a30 45
ClementBreteau 1:f3f702086a30 46 /* Constructor: SPIHalfDuplex
ClementBreteau 1:f3f702086a30 47 * Create a SPI half-duplex master connected to the specified pins
ClementBreteau 1:f3f702086a30 48 *
ClementBreteau 1:f3f702086a30 49 * Variables:
ClementBreteau 1:f3f702086a30 50 * mosi - SPI Master Out, Slave In pin
ClementBreteau 1:f3f702086a30 51 * miso - SPI Master In, Slave Out pin
ClementBreteau 1:f3f702086a30 52 * sclk - SPI Clock pin
ClementBreteau 1:f3f702086a30 53 * name - (optional) A string to identify the object
ClementBreteau 1:f3f702086a30 54 *
ClementBreteau 1:f3f702086a30 55 * Pin Options:
ClementBreteau 1:f3f702086a30 56 * (5, 6, 7) or (11, 12, 13)
ClementBreteau 1:f3f702086a30 57 *
ClementBreteau 1:f3f702086a30 58 * mosi or miso can be specfied as NC if not used
ClementBreteau 1:f3f702086a30 59 */
ClementBreteau 1:f3f702086a30 60 SPIHalfDuplex(PinName mosi, PinName miso, PinName sclk,
ClementBreteau 1:f3f702086a30 61 const char *name = NULL);
ClementBreteau 1:f3f702086a30 62
ClementBreteau 1:f3f702086a30 63 #if 0 // Inherited from SPI - documentation only
ClementBreteau 1:f3f702086a30 64 /* Function: format
ClementBreteau 1:f3f702086a30 65 * Configure the data transmission format
ClementBreteau 1:f3f702086a30 66 *
ClementBreteau 1:f3f702086a30 67 * Variables:
ClementBreteau 1:f3f702086a30 68 * bits - Number of bits per SPI frame (4 - 16)
ClementBreteau 1:f3f702086a30 69 * mode - Clock polarity and phase mode (0 - 3)
ClementBreteau 1:f3f702086a30 70 *
ClementBreteau 1:f3f702086a30 71 * > mode | POL PHA
ClementBreteau 1:f3f702086a30 72 * > -----+--------
ClementBreteau 1:f3f702086a30 73 * > 0 | 0 0
ClementBreteau 1:f3f702086a30 74 * > 1 | 0 1
ClementBreteau 1:f3f702086a30 75 * > 2 | 1 0
ClementBreteau 1:f3f702086a30 76 * > 3 | 1 1
ClementBreteau 1:f3f702086a30 77 */
ClementBreteau 1:f3f702086a30 78 void format(int bits, int mode = 0);
ClementBreteau 1:f3f702086a30 79
ClementBreteau 1:f3f702086a30 80 /* Function: frequency
ClementBreteau 1:f3f702086a30 81 * Set the spi bus clock frequency
ClementBreteau 1:f3f702086a30 82 *
ClementBreteau 1:f3f702086a30 83 * Variables:
ClementBreteau 1:f3f702086a30 84 * hz - SCLK frequency in hz (default = 1MHz)
ClementBreteau 1:f3f702086a30 85 */
ClementBreteau 1:f3f702086a30 86 void frequency(int hz = 1000000);
ClementBreteau 1:f3f702086a30 87 #endif
ClementBreteau 1:f3f702086a30 88
ClementBreteau 1:f3f702086a30 89 /* Function: write
ClementBreteau 1:f3f702086a30 90 * Write to the SPI Slave and return the response
ClementBreteau 1:f3f702086a30 91 *
ClementBreteau 1:f3f702086a30 92 * Variables:
ClementBreteau 1:f3f702086a30 93 * value - Data to be sent to the SPI slave
ClementBreteau 1:f3f702086a30 94 * returns - Response from the SPI slave
ClementBreteau 1:f3f702086a30 95 */
ClementBreteau 1:f3f702086a30 96 virtual int write(int value);
ClementBreteau 1:f3f702086a30 97
ClementBreteau 1:f3f702086a30 98 /* Function: slave_format
ClementBreteau 1:f3f702086a30 99 * Set the number of databits expected from the slave, from 4-16
ClementBreteau 1:f3f702086a30 100 *
ClementBreteau 1:f3f702086a30 101 * Variables:
ClementBreteau 1:f3f702086a30 102 * sbits - Number of expected bits in the slave response
ClementBreteau 1:f3f702086a30 103 */
ClementBreteau 1:f3f702086a30 104 void slave_format(int sbits);
ClementBreteau 1:f3f702086a30 105
ClementBreteau 1:f3f702086a30 106 protected:
ClementBreteau 1:f3f702086a30 107 PinName _mosi;
ClementBreteau 1:f3f702086a30 108 PinName _miso;
ClementBreteau 1:f3f702086a30 109 int _sbits;
ClementBreteau 1:f3f702086a30 110
ClementBreteau 1:f3f702086a30 111 }; // End of class
ClementBreteau 1:f3f702086a30 112
ClementBreteau 1:f3f702086a30 113 } // End of namespace mbed
ClementBreteau 1:f3f702086a30 114
ClementBreteau 1:f3f702086a30 115 #endif
ClementBreteau 1:f3f702086a30 116
ClementBreteau 1:f3f702086a30 117 #endif