PortOut

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
00002  
00003 #include "mbed.h"
00004  
00005 // LED1 = P1.18  LED2 = P1.20  LED3 = P1.21  LED4 = P1.23
00006 #define LED_MASK 0x00B40000
00007  
00008 PortOut ledport(Port1, LED_MASK);
00009  
00010 int main() {
00011     while(1) {
00012         ledport = LED_MASK;
00013         wait(1);
00014         ledport = 0;
00015         wait(1);
00016     }
00017 }

API

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()
PortOut operator= ( PortOut &rhs)
  A shorthand for read()
  operator int ()
  A shorthand for read()

Interface

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

/media/uploads/chris/pinout-thumbnails.jpg
See the Pinout page for more details