Mistake on this page?
Report an issue in GitHub or email us


Use the PortInOut interface to read and write an underlying GPIO port as one value. This is much faster than BusInOut because you can write a port all at once, but it is much less flexible because you are constrained by the port and bit layout of the underlying GPIO ports.

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

PortInOut class reference

Public Member Functions
 PortInOut (PortName port, int mask=0xFFFFFFFF)
void write (int value)
int read ()
void output ()
void input ()
void mode (PinMode mode)
PortInOutoperator= (int value)
PortInOutoperator= (PortInOut &rhs)
 operator int ()

PortInOut hello, world

// Toggle all four LEDs
#include "mbed.h"
// LED1 = P1.18  LED2 = P1.20  LED3 = P1.21  LED4 = P1.23
#define LED_MASK 0x00B40000
PortInOut ledport(Port1, LED_MASK);
int main() {
    int v = ledport;
    while(1) {
        ledport = LED_MASK;
        ledport = 0;
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.