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);
    }
}