Mbed OS Reference
Loading...
Searching...
No Matches
BusInOut Class Reference

A digital input output bus, used for setting the state of a collection of pins. More...

#include <BusInOut.h>

Inheritance diagram for BusInOut:
NonCopyable< BusInOut >

Public Member Functions

 BusInOut (PinName p0, PinName p1=NC, PinName p2=NC, PinName p3=NC, PinName p4=NC, PinName p5=NC, PinName p6=NC, PinName p7=NC, PinName p8=NC, PinName p9=NC, PinName p10=NC, PinName p11=NC, PinName p12=NC, PinName p13=NC, PinName p14=NC, PinName p15=NC)
 Create a BusInOut, connected to the specified pins. More...
 
 BusInOut (PinName pins[16])
 Create a BusInOut, connected to the specified pins. More...
 
void write (int value)
 Write the value to the output bus. More...
 
int read ()
 Read the value currently output on the bus. More...
 
void output ()
 Set all the pins in bus as output. More...
 
void input ()
 Set all the pins in bus as an input. More...
 
void mode (PinMode pull)
 Set the input pin mode for all the pins in bus. More...
 
int mask ()
 Binary mask of bus pins connected to actual pins (not NC pins) If bus pin is in NC state make corresponding bit will be cleared (set to 0), else bit will be set to 1. More...
 
BusInOutoperator= (int v)
 A shorthand for write() More...
 
DigitalInOutoperator[] (int index)
 Access to particular bit in random-iterator fashion. More...
 
 operator int ()
 A shorthand for read() More...
 

Detailed Description

A digital input output bus, used for setting the state of a collection of pins.

Implemented as an array of DigitalInOut pins, the bus can be constructed by any pins without restriction other than being capable of digital input or output capabilities

Note
Synchronization level: Thread safe

Definition at line 38 of file BusInOut.h.

Constructor & Destructor Documentation

◆ BusInOut() [1/2]

BusInOut ( PinName  p0,
PinName  p1 = NC,
PinName  p2 = NC,
PinName  p3 = NC,
PinName  p4 = NC,
PinName  p5 = NC,
PinName  p6 = NC,
PinName  p7 = NC,
PinName  p8 = NC,
PinName  p9 = NC,
PinName  p10 = NC,
PinName  p11 = NC,
PinName  p12 = NC,
PinName  p13 = NC,
PinName  p14 = NC,
PinName  p15 = NC 
)

Create a BusInOut, connected to the specified pins.

Parameters
p0DigitalInOut pin to connect to bus bit
p1DigitalInOut pin to connect to bus bit
p2DigitalInOut pin to connect to bus bit
p3DigitalInOut pin to connect to bus bit
p4DigitalInOut pin to connect to bus bit
p5DigitalInOut pin to connect to bus bit
p6DigitalInOut pin to connect to bus bit
p7DigitalInOut pin to connect to bus bit
p8DigitalInOut pin to connect to bus bit
p9DigitalInOut pin to connect to bus bit
p10DigitalInOut pin to connect to bus bit
p11DigitalInOut pin to connect to bus bit
p12DigitalInOut pin to connect to bus bit
p13DigitalInOut pin to connect to bus bit
p14DigitalInOut pin to connect to bus bit
p15DigitalInOut pin to connect to bus bit
Note
It is only required to specify as many pin variables as is required for the bus; the rest will default to NC (not connected)

◆ BusInOut() [2/2]

BusInOut ( PinName  pins[16])

Create a BusInOut, connected to the specified pins.

Parameters
pinsAn array of pins (PinName) to construct a BusInOut from. The maximum number of pins in the array is 16 and any pins that are unspecified or are not to be connected must be specified as NC in the array that is passed in

Member Function Documentation

◆ write()

void write ( int  value)

Write the value to the output bus.

Parameters
valueAn integer specifying a bit to write for every corresponding DigitalInOut pin

◆ read()

int read ( )

Read the value currently output on the bus.

Returns
An integer with each bit corresponding to associated DigitalInOut pin setting

◆ output()

void output ( )

Set all the pins in bus as output.

◆ input()

void input ( )

Set all the pins in bus as an input.

◆ mode()

void mode ( PinMode  pull)

Set the input pin mode for all the pins in bus.

Parameters
pullPullUp, PullDown, PullNone

◆ mask()

int mask ( )

Binary mask of bus pins connected to actual pins (not NC pins) If bus pin is in NC state make corresponding bit will be cleared (set to 0), else bit will be set to 1.

Returns
Binary mask of connected pins

Definition at line 115 of file BusInOut.h.

◆ operator=()

BusInOut & operator= ( int  v)

A shorthand for write()

See also
BusInOut::write()

◆ operator[]()

DigitalInOut & operator[] ( int  index)

Access to particular bit in random-iterator fashion.

Parameters
indexBit Position

◆ operator int()

operator int ( )

A shorthand for read()

See also
BusInOut::read()