PortIn - ポート入力
PortIn - ポート入力
デジタル入力をGPIOとして扱う。
マイコン本来のアクセス方法に近いため高速。

初期化
PortIn name(port, mask);
name:任意の名前
port:ポート(Port0~Port5)
mask:使用するピン(ビットを1に)
モード
プルアップ/ダウンの指定
name(mode);
mode:PullUp, PullDown, PullNone, OpenDrain
入力
val = name;
val:値(対応するビットが 0:Low、1:High)
例
p21~p26の値によってLEDを点灯する
#include "mbed.h"
PortIn p(Port2, 0x0000003F); // p21-p26
DigitalOut ind(LED4);
int main() {
while(1) {
int pins = p.read();
if(pins) {
ind = 1;
} else {
ind = 0;
}
}
}
LPCXpresso LPC1768 コード
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++);
}
}
Please log in to post comments.
