2011年2月12日土曜日

ボタンを読む



ボタンを読んで、LCD の対応する位置に"####"を表示させる。

まず DigitalIn で ピンと名前を対応付ける。
あとは、その名前でピンの値を見る。押されているときはゼロ。はなすと1になる。

・・・・・ はずであるが???  ゼロしか返ってこない。

ピンは In/Out  設定可能であるし、アナログの場合もあるので、外付けの
プルアップが無い。スイッチがオープンになっても電圧がかからないのだ。
これも、設定できて、

swWhite.mode(PullUp);

とかやれば、チップが自分でプルアップしてくれる。



#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(p11, p12, p27, p28, p29, p30); // rs, e, d4-d7

DigitalIn swWhite(p13);
DigitalIn swRed(p14);
DigitalIn swBlack(p9);

int main() {

lcd.printf("BUTTON TEST");

swWhite.mode(PullUp);
swRed.mode(PullUp);
swBlack.mode(PullUp);

while(1){
if(swWhite==0){
lcd.cls();
lcd.printf("#### ---- ----");
}
else if(swRed==0){
lcd.cls();
lcd.printf("---- #### ----");
}
if(swBlack==0){
lcd.cls();
lcd.printf("---- ---- ####");
}

}

}