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 PortOut API, please see PortOut.

The PortOut interface is used to write to an underlying GPIO port as one value. This is much faster than BusOut as you can write 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 // Toggle all four LEDs
00003 #include "mbed.h"
00005 // LED1 = P1.18  LED2 = P1.20  LED3 = P1.21  LED4 = P1.23
00006 #define LED_MASK 0x00B40000
00008 PortOut ledport(Port1, LED_MASK);
00010 int main() {
00011     while(1) {
00012         ledport = LED_MASK;
00013         wait(1);
00014         ledport = 0;
00015         wait(1);
00016     }
00017 }


Import library

Public Member Functions

  PortOut (PortName port, int mask=0xFFFFFFFF)
  Create an PortOut , connected to the specified port.
void  write (int value)
  Write the value to the output port.
int  read ()
  Read the value currently output on the port.
PortOut operator= (int value)
  A shorthand for write()
  operator int ()
  A shorthand for read()


The PortOut Interface can use any pins with a blue label, as long as they are in the same GPIO port.

See the Pinout page for more details