mbed(SerialHalfDuplex入り)
Fork of mbed by
Diff: SPIHalfDuplex.h
- Revision:
- 44:24d45a770a51
- Parent:
- 43:e2ed12d17f06
- Child:
- 45:3d775a932e1d
--- a/SPIHalfDuplex.h Fri Oct 26 17:40:46 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -/* mbed Microcontroller Library - SPIHalfDuplex - * Copyright (c) 2010-2011 ARM Limited. All rights reserved. - */ - -#ifndef MBED_SPIHALFDUPLEX_H -#define MBED_SPIHALFDUPLEX_H - -#include "device.h" - -#if DEVICE_SPI - -#include "SPI.h" - -namespace mbed { - -/** A SPI half-duplex master, used for communicating with SPI slave devices - * over a shared data line. - * - * The default format is set to 8-bits for both master and slave, and a - * clock frequency of 1MHz - * - * Most SPI devies will also require Chip Select and Reset signals. These - * can be controlled using <DigitalOut> pins. - * - * Although this is for a shared data line, both MISO and MOSI are defined, - * and should be tied together externally to the mbed. This class handles - * the tri-stating of the MOSI pin. - * - * Example: - * @code - * // Send a byte to a SPI half-duplex slave, and record the response - * - * #include "mbed.h" - * - * SPIHalfDuplex device(p5, p6, p7) // mosi, miso, sclk - * - * int main() { - * int respone = device.write(0xAA); - * } - * @endcode - */ - -class SPIHalfDuplex : public SPI { - -public: - - /** Create a SPI half-duplex master connected to the specified pins - * - * Pin Options: - * (5, 6, 7) or (11, 12, 13) - * - * mosi or miso can be specfied as NC if not used - * - * @param mosi SPI Master Out, Slave In pin - * @param miso SPI Master In, Slave Out pin - * @param sclk SPI Clock pin - * @param name (optional) A string to identify the object - */ - SPIHalfDuplex(PinName mosi, PinName miso, PinName sclk, - const char *name = NULL); - -#if 0 // Inherited from SPI - documentation only - /** Configure the data transmission format - * - * @param bits Number of bits per SPI frame (4 - 16) - * @param mode Clock polarity and phase mode (0 - 3) - * - * @code - * mode | POL PHA - * -----+-------- - * 0 | 0 0 - * 1 | 0 1 - * 2 | 1 0 - * 3 | 1 1 - * @endcode - */ - void format(int bits, int mode = 0); - - /** Set the spi bus clock frequency - * - * @param hz SCLK frequency in hz (default = 1MHz) - */ - void frequency(int hz = 1000000); -#endif - - /** Write to the SPI Slave and return the response - * - * @param value Data to be sent to the SPI slave - * - * @returns - * Response from the SPI slave - */ - virtual int write(int value); - - /** Set the number of databits expected from the slave, from 4-16 - * - * @param sbits Number of expected bits in the slave response - */ - void slave_format(int sbits); - -protected: - PinName _mosi; - PinName _miso; - int _sbits; - -}; // End of class - -} // End of namespace mbed - -#endif - -#endif