Out of date: This is not the most recent version of this page. Please see the most recent version

PortInOut

Use the PortInOut class to read and write an underlying GPIO port as one value. This is much faster than BusInOut because you can write a port in one go, 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 only certain bits of a port are used, allowing other bits to be used for other classes.

API

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 ()

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;
    ledport.output();
    while(1) {
        ledport = LED_MASK;
        wait(0.5);
        ledport = 0;
        wait(1);
    }
}