PortOut
Use the PortOut interface to define which pins of a hardware GPIO port are set as an output and to write those pins. The port name is device specific and defined in the device's PortNames.h file in the mbed-os/targets folder.
A bit mask defines which pins of the GPIO port are set as an output (1b = include, 0b = ignore). The default mask value is 0xFFFFFFFF which sets all pins as an output.
The device-specific PinNames.h and the respective datasheet or reference manual define the pins associated with a GPIO port.
Note: You can combine pins from different GPIO ports using the BusOut interface. Use PortIn to define which GPIO pins are to be used as digital input.
PortOut class reference
| Public Member Functions | |
| PortOut (PortName port, int mask=0xFFFFFFFF) | |
| Create a PortOut, connected to the specified port. More... | |
| void | write (int value) |
| Write the value to the output port. More... | |
| int | read () |
| Read the value currently output on the port. More... | |
| PortOut & | operator= (int value) |
| A shorthand for write() More... | |
| PortOut & | operator= (PortOut &rhs) |
| A shorthand for read() More... | |
| operator int () | |
| A shorthand for read() More... | |
PortOut hello, world
/*
* Copyright (c) 2020 Arm Limited and affiliates.
* SPDX-License-Identifier: Apache-2.0
*/
#include "mbed.h"
// Toggle all four LEDs
// LED1 = P1.18 LED2 = P1.20 LED3 = P1.21 LED4 = P1.23
#define LED_MASK 0x00B40000
PortOut ledport(PortA, LED_MASK);
int main()
{
while (1) {
ledport = LED_MASK;
ThisThread::sleep_for(1000);
ledport = 0;
ThisThread::sleep_for(1000);
}
}