Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: NervousPuppySprintOne NervousPuppySprint2602 Robot WarehouseBot1 ... more
Fork of mbed by
Diff: DigitalInOut.h
- Revision:
- 11:1c1ebd0324fa
- Child:
- 18:b3c9f16cbb96
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DigitalInOut.h Fri Aug 28 12:10:11 2009 +0000
@@ -0,0 +1,93 @@
+/* mbed Microcontroller Library - DigitalInOut
+ * Copyright (c) 2006-2009 ARM Limited. All rights reserved.
+ * sford
+ */
+
+#ifndef MBED_DIGITALINOUT_H
+#define MBED_DIGITALINOUT_H
+
+#include "platform.h"
+#include "PinNames.h"
+#include "PeripheralNames.h"
+#include "Base.h"
+
+namespace mbed {
+
+/* Class: DigitalInOut
+ * A digital input/output, used for setting or reading a bi-directional pin
+ */
+class DigitalInOut : public Base {
+
+public:
+
+ /* Constructor: DigitalInOut
+ * Create a DigitalInOut connected to the specified pin
+ *
+ * Variables:
+ * pin - DigitalInOut pin to connect to
+ */
+ DigitalInOut(PinName pin, const char* name = NULL);
+
+ /* Function: write
+ * Set the output, specified as 0 or 1 (int)
+ *
+ * Variables:
+ * value - An integer specifying the pin output value,
+ * 0 for logical 0 and 1 (or any other non-zero value) for logical 1
+ */
+ void write(int value);
+
+ /* Function: read
+ * Return the output setting, represented as 0 or 1 (int)
+ *
+ * Variables:
+ * returns - An integer representing the output setting of the pin if it is an output,
+ * or read the input if set as an input
+ */
+ int read();
+
+ /* Function: output
+ * Set as an output
+ */
+ void output();
+
+ /* Function: input
+ * Set as an input
+ */
+ void input();
+
+ /* Function: mode
+ * Set the input pin mode
+ *
+ * Variables:
+ * mode - PullUp, PullDown, PullNone
+ */
+ void mode(PinMode pull);
+
+#ifdef MBED_OPERATORS
+ /* Function: operator=
+ * A shorthand for <write>
+ */
+ DigitalInOut& operator= (int v);
+ DigitalInOut& operator= (DigitalInOut& rhs);
+
+ /* Function: operator int()
+ * A shorthand for <read>
+ */
+ operator int();
+#endif
+
+#ifdef MBED_RPC
+ virtual const struct rpc_method *get_rpc_methods();
+ static struct rpc_class *get_rpc_class();
+#endif
+
+protected:
+
+ PinName _pin;
+
+};
+
+} // namespace mbed
+
+#endif
