PortInOut

This content relates to a deprecated version of Mbed

Mbed 2 is now deprecated. For the latest version please see the Mbed OS documentation.

For the latest PortInOut API, please see PortInOut.

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!

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 PortInOut ledport(Port1, LED_MASK);
00009  
00010 int main() {
00011     int v = ledport;
00012     ledport.output();
00013     while(1) {
00014         ledport = LED_MASK;
00015         wait(0.5);
00016         ledport = 0;
00017         wait(1);
00018     }
00019 }

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

Interface

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

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

All wikipages