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
/* mbed Example Program
* Copyright (c) 2006-2014 ARM Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Toggle all four LEDs
#include "mbed.h"
// LED1 = P1.18 LED2 = P1.20 LED3 = P1.21 LED4 = P1.23
#define LED_MASK 0x00B40000
PortOut ledport(Port1, LED_MASK);
int main() {
while(1) {
ledport = LED_MASK;
wait(1);
ledport = 0;
wait(1);
}
}