c8c2cd1bf98bd03b2054ee90505b5039f8e57650
1 /* mbed Microcontroller Library - BusOut
2 * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
10 #include "PeripheralNames.h"
12 #include "DigitalOut.h"
17 * A digital output bus, used for setting the state of a collection of pins
19 class BusOut
: public Base
{
23 /* Group: Configuration Methods */
25 /* Constructor: BusOut
26 * Create an BusOut, connected to the specified pins
29 * p<n> - DigitalOut pin to connect to bus bit <n> (p5-p30, NC)
32 * It is only required to specify as many pin variables as is required
33 * for the bus; the rest will default to NC (not connected)
35 BusOut(PinName p0
, PinName p1
= NC
, PinName p2
= NC
, PinName p3
= NC
,
36 PinName p4
= NC
, PinName p5
= NC
, PinName p6
= NC
, PinName p7
= NC
,
37 PinName p8
= NC
, PinName p9
= NC
, PinName p10
= NC
, PinName p11
= NC
,
38 PinName p12
= NC
, PinName p13
= NC
, PinName p14
= NC
, PinName p15
= NC
,
39 const char *name
= NULL
);
41 BusOut(PinName pins
[16], const char *name
= NULL
);
45 /* Group: Access Methods */
48 * Write the value to the output bus
51 * value - An integer specifying a bit to write for every corresponding DigitalOut pin
53 void write(int value
);
57 * Read the value currently output on the bus
60 * returns - An integer with each bit corresponding to associated DigitalOut pin setting
65 /* Group: Access Method Shorthand */
67 /* Function: operator=
68 * A shorthand for <write>
70 BusOut
& operator= (int v
);
71 BusOut
& operator= (BusOut
& rhs
);
73 /* Function: operator int()
74 * A shorthand for <read>
80 virtual const struct rpc_method
*get_rpc_methods();
81 static struct rpc_class
*get_rpc_class();
89 static void construct(const char *arguments
, char *res
);