BusInOut

Table of Contents

  1. Hello World!
  2. API
  3. Related

mbed OS 2 and mbed OS 5

This is the handbook for mbed OS 2. If you’re working with mbed OS 5, please see the new handbook and API References. For the latest BusInOut API, please see BusInOut.

The BusInOut interface is used as a bi-directional bus that collects together a number of DigitalInOut pins that can be read and written as one value.

Any of the numbered mbed pins can be used as a DigitalInOut.

Hello World!

Import program

00001 #include "mbed.h"
00002  
00003 BusInOut pins(p5, p10, p7);
00004  
00005 int main() {
00006     while(1) {
00007         pins.output();
00008         pins = 0x3;
00009         wait(1);
00010         pins.input();
00011         wait(1);
00012         if(pins == 0x6) {
00013             printf("Hello!\n");
00014         }
00015     }
00016 }

API

API summary

Import library

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.
void  write (int value)
  Write the value to the output bus.
int  read ()
  Read the value currently output on the bus.
void  output ()
  Set as an output.
void  input ()
  Set as an input.
void  mode (PinMode pull)
  Set the input pin mode.
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.
BusInOut operator= (int v)
  A shorthand for write()
DigitalInOut operator[] (int index)
  Access to particular bit in random-iterator fashion.
  operator int ()
  A shorthand for read()

Protected Attributes

int  _nc_mask
  Mask of bus's NC pins If bit[n] is set to 1 - pin is connected if bit[n] is cleared - pin is not connected (NC)