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 Mbed OS 5 documentation. For the latest PortIn API, please see PortIn.

The PortIn interface is used to read an underlying GPIO port as one value. This is much faster than BusIn as you can read a port in one go, but much less flexible as you are constrained by the port and bit layout of the underlying GPIO ports.

A mask can be supplied so only certain bits of a port are used, allowing other bits to be used for other interfaces.

Hello World!

Import program

00001 // Switch on an LED if any of mbed pins 21-26 is high
00003 #include "mbed.h"
00005 PortIn     p(Port2, 0x0000003F);   // p21-p26
00006 DigitalOut ind(LED4);
00008 int main() {
00009     while(1) {
00010         int pins = p.read();
00011         if(pins) {
00012             ind = 1;
00013         } else {
00014             ind = 0;
00015         }
00016     }
00017 }


Import library

Public Member Functions

  PortIn (PortName port, int mask=0xFFFFFFFF)
  Create a PortIn , connected to the specified port.
int  read ()
  Read the value input to the port.
void  mode (PinMode mode)
  Set the input pin mode.
  operator int ()
  A shorthand for read()


The PortIn Interface can use any pin with a blue label, as long as all the pins used are in the same GPIO port

See the Pinout page for more details