You are viewing an older revision! See the latest version

PortInOut

Table of Contents

  1. Hello World!
  2. API
  3. Related

The PortInOut interface is used to read and write an underlying GPIO port as one value. This is much faster than BusInOut 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!

// 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(1);
        ledport = 0;
        wait(1);
    }
}

API

Import library

Public Member Functions

PortInOut (PortName port, int mask=0xFFFFFFFF)
Create an PortInOut , 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.
void output ()
Set as an output.
void input ()
Set as an input.
void mode (PinMode mode)
Set the input pin mode.
PortInOut & operator= (int value)
A shorthand for write()
operator int ()
A shorthand for read()

All wikipages