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

初期化
PortOut name(port, mask);
name:任意の名前
port:ポート(Port0~Port5)
mask:使用するピン(ビットを1に)
出力
name = val;
val:値(対応するビットを 0:Low、1:High)
例
LEDをまとめて点滅する
#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);
}
}
LPCXpresso LPC1768 コード
I/Oポート出力は、一般的なポートレジスタとSET/CLRレジスタを使う方法がある。
LED(P1.18)点滅
#include "LPC17xx.h"
int main() {
volatile int i;
LPC_PINCON->PINSEL3 &= ~(3 << 4); // GPIO (00)
LPC_GPIO1->FIODIR |= (1 << 18); // output
while(1) {
LPC_GPIO1->FIOPIN |= (1 << 18); // high
for(i = 0; i < 10000000; i++);
LPC_GPIO1->FIOPIN &= ~(1 << 18); // low
for(i = 0; i < 10000000; i++);
LPC_GPIO1->FIOSET = (1 << 18); // high
for(i = 0; i < 10000000; i++);
LPC_GPIO1->FIOCLR = (1 << 18); // low
for(i = 0; i < 10000000; i++);
}
}
Please log in to post comments.
