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.
See the Pinout page for more details |