DigitalIn
Use the DigitalIn interface to read the value of a digital input pin. The logic level is either 1 or 0.
You can use any of the numbered Arm Mbed pins can be used as a DigitalIn.
DigitalIn class reference
Public Member Functions | |
DigitalIn (PinName pin) | |
Create a DigitalIn connected to the specified pin. More... | |
DigitalIn (PinName pin, PinMode mode) | |
Create a DigitalIn connected to the specified pin. More... | |
int | read () |
Read the input, represented as 0 or 1 (int) More... | |
void | mode (PinMode pull) |
Set the input pin mode. More... | |
int | is_connected () |
Return the output setting, represented as 0 or 1 (int) More... | |
operator int () | |
An operator shorthand for read() More... |
DigitalIn 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.
*/
#include "mbed.h"
DigitalIn mypin(SW2); // change this to the button on your board
DigitalOut myled(LED1);
int main()
{
// check mypin object is initialized and connected to a pin
if(mypin.is_connected()) {
printf("mypin is connected and initialized! \n\r");
}
// Optional: set mode as PullUp/PullDown/PullNone/OpenDrain
mypin.mode(PullNone);
// press the button and see the console / led change
while(1) {
printf("mypin has value : %d \n\r", mypin.read());
myled = mypin; // toggle led based on value of button
wait(0.25);
}
}
DigitalIn example
To handle an interrupt, see InterruptIn.
Examples of logical functions - boolean logic NOT, AND, OR, XOR:
#include "mbed.h"
DigitalIn a(D0);
DigitalIn b(D1);
DigitalOut z_not(LED1);
DigitalOut z_and(LED2);
DigitalOut z_or(LED3);
DigitalOut z_xor(LED4);
int main() {
while(1) {
z_not = !a;
z_and = a && b;
z_or = a || b;
z_xor = a ^ b;
}
}
Related content
- InterruptIn API reference.