mbed libraries for KL25Z

Dependents:   FRDM_RGBLED

Committer:
emilmont
Date:
Fri Nov 09 11:33:53 2012 +0000
Revision:
8:c14af7958ef5
Parent:
0:8024c367e29f
Child:
9:663789d7729f
SPI driver; ADC driver; DAC driver; microlib support; general bugfixing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 0:8024c367e29f 1 /* mbed Microcontroller Library - DigitalIn
emilmont 0:8024c367e29f 2 * Copyright (c) 2006-2011 ARM Limited. All rights reserved.
emilmont 0:8024c367e29f 3 */
emilmont 0:8024c367e29f 4 #ifndef MBED_DIGITALIN_H
emilmont 0:8024c367e29f 5 #define MBED_DIGITALIN_H
emilmont 0:8024c367e29f 6
emilmont 0:8024c367e29f 7 #include "platform.h"
emilmont 0:8024c367e29f 8
emilmont 0:8024c367e29f 9 #include "gpio_api.h"
emilmont 0:8024c367e29f 10
emilmont 0:8024c367e29f 11 namespace mbed {
emilmont 0:8024c367e29f 12
emilmont 8:c14af7958ef5 13 /** A digital input, used for reading the state of a pin
emilmont 0:8024c367e29f 14 *
emilmont 0:8024c367e29f 15 * Example:
emilmont 8:c14af7958ef5 16 * @code
emilmont 8:c14af7958ef5 17 * // Flash an LED while a DigitalIn is true
emilmont 8:c14af7958ef5 18 *
emilmont 8:c14af7958ef5 19 * #include "mbed.h"
emilmont 8:c14af7958ef5 20 *
emilmont 8:c14af7958ef5 21 * DigitalIn enable(p5);
emilmont 8:c14af7958ef5 22 * DigitalOut led(LED1);
emilmont 8:c14af7958ef5 23 *
emilmont 8:c14af7958ef5 24 * int main() {
emilmont 8:c14af7958ef5 25 * while(1) {
emilmont 8:c14af7958ef5 26 * if(enable) {
emilmont 8:c14af7958ef5 27 * led = !led;
emilmont 8:c14af7958ef5 28 * }
emilmont 8:c14af7958ef5 29 * wait(0.25);
emilmont 8:c14af7958ef5 30 * }
emilmont 8:c14af7958ef5 31 * }
emilmont 8:c14af7958ef5 32 * @endcode
emilmont 0:8024c367e29f 33 */
emilmont 8:c14af7958ef5 34 class DigitalIn {
emilmont 0:8024c367e29f 35
emilmont 0:8024c367e29f 36 public:
emilmont 8:c14af7958ef5 37 /** Create a DigitalIn connected to the specified pin
emilmont 0:8024c367e29f 38 *
emilmont 8:c14af7958ef5 39 * @param pin DigitalIn pin to connect to
emilmont 8:c14af7958ef5 40 * @param name (optional) A string to identify the object
emilmont 0:8024c367e29f 41 */
emilmont 8:c14af7958ef5 42 DigitalIn(PinName pin);
emilmont 0:8024c367e29f 43
emilmont 8:c14af7958ef5 44 /** Read the input, represented as 0 or 1 (int)
emilmont 0:8024c367e29f 45 *
emilmont 8:c14af7958ef5 46 * @returns
emilmont 8:c14af7958ef5 47 * An integer representing the state of the input pin,
emilmont 8:c14af7958ef5 48 * 0 for logical 0, 1 for logical 1
emilmont 0:8024c367e29f 49 */
emilmont 0:8024c367e29f 50 int read();
emilmont 0:8024c367e29f 51
emilmont 8:c14af7958ef5 52 /** Set the input pin mode
emilmont 0:8024c367e29f 53 *
emilmont 8:c14af7958ef5 54 * @param mode PullUp, PullDown, PullNone, OpenDrain
emilmont 0:8024c367e29f 55 */
emilmont 0:8024c367e29f 56 void mode(PinMode pull);
emilmont 0:8024c367e29f 57
emilmont 0:8024c367e29f 58 #ifdef MBED_OPERATORS
emilmont 8:c14af7958ef5 59 /** An operator shorthand for read()
emilmont 0:8024c367e29f 60 */
emilmont 0:8024c367e29f 61 operator int() {
emilmont 0:8024c367e29f 62 return read();
emilmont 0:8024c367e29f 63 }
emilmont 0:8024c367e29f 64 #endif
emilmont 0:8024c367e29f 65
emilmont 0:8024c367e29f 66 protected:
emilmont 0:8024c367e29f 67 gpio_object gpio;
emilmont 0:8024c367e29f 68 };
emilmont 0:8024c367e29f 69
emilmont 0:8024c367e29f 70 } // namespace mbed
emilmont 0:8024c367e29f 71
emilmont 0:8024c367e29f 72 #endif