DigitalIn - デジタル入力

DigitalIn - デジタル入力

Information

本ページは私家版のため、誤り等あればご指摘ください。
最新の情報は公式のドキュメントをご参照ください。 http://mbed.org/handbook/DigitalIn

ピンを入力に設定し、HighまたはLowを読み取ります。

http://mbed.org/media/uploads/mbedofficial/digitalin_interfaces.png

初期化

DigitalIn name(pin);

name: 名前(自由に決めて良い)
pin: ピン名(p5~p30)

入力

val = name;

valには0:Low(0V)、1:High(3.3V)が代入されます。

Warning

ブートローダーモードの指定ピンを入出力などに使っている場合、CPUの起動時やリセット時に 意図せずブートローダーモードに入ってしまい、ユーザーのプログラムが起動しないことがあります。

LPC1114・LPC824のISP、NucleoのBOOT0等のピンに注意してください。

p5の入力をLEDへ反映

#include "mbed.h"

DigitalIn enable(p5);
DigitalOut led(LED1);

int main() {
    while(1) {
        if(enable) {
            led = !led;
        }
        wait(0.25);
    }
}

LPCXpresso コード

I/Oポート入力

p5(P0.9)の入力をLED(P1.18)へ反映

#include "LPC17xx.h"

int main() {
    volatile int i;

    LPC_PINCON->PINSEL0  &= ~(3 << 18); // GPIO (00)
    LPC_PINCON->PINMODE0 &= ~(2 << 18); // pull-up (00)
    LPC_GPIO0->FIODIR &= ~(1 << 9); // input

    LPC_PINCON->PINSEL3  &= ~(3 << 4); // GPIO (00)
    LPC_GPIO1->FIODIR |= (1 << 18); // output

    while(1) {
        if (LPC_GPIO0->FIOPIN & (1 << 9)) {
            LPC_GPIO1->FIOSET = (1 << 18); // high
        } else {
            LPC_GPIO1->FIOCLR = (1 << 18); // low
        }
        for(i = 0; i < 1000000; i++);
    }
}

詳細 戻る(back)


Please log in to post comments.