Mistake on this page?
Report an issue in GitHub or email us
Public Member Functions
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 an BusInOut, connected to the specified pins. More...
 
 BusInOut (PinName pins[16])
 Create an 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.

Note
Synchronization level: Thread safe

Definition at line 32 of file BusInOut.h.

Constructor & Destructor Documentation

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 an 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 ( PinName  pins[16])

Create an BusInOut, connected to the specified pins.

Parameters
pinsAn array of pins to construct a BusInOut from

Member Function Documentation

void input ( )

Set all the pins in bus as an input.

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 107 of file BusInOut.h.

void mode ( PinMode  pull)

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

Parameters
pullPullUp, PullDown, PullNone
operator int ( )

A shorthand for read()

See also
BusInOut::read()
BusInOut& operator= ( int  v)

A shorthand for write()

See also
BusInOut::write()
DigitalInOut& operator[] ( int  index)

Access to particular bit in random-iterator fashion.

Parameters
indexBit Position
void output ( )

Set all the pins in bus as output.

int read ( )

Read the value currently output on the bus.

Returns
An integer with each bit corresponding to associated DigitalInOut pin setting
void write ( int  value)

Write the value to the output bus.

Parameters
valueAn integer specifying a bit to write for every corresponding DigitalInOut pin
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.