MSP432 GPIO Input - Switch
Lチカ(つまりデジタルのON/OFF)ができたら、次はデジタルの読み込みが王道の手順でしょという事で簡単な動作確認を実施
緑色のLEDの下にスイッチがあり、P1.1に接続されている。反対側にもP1.4に接続されたスイッチがある。P.1.1を押したらLEDをつけて、P1.4を押されたらOFFする。
MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1);
スイッチの検出のため内部プルアップで使うかプルダウンで使うかを指定する。
プルアップで指定。ボタンが押されたらGNDに落ちるので、押されたらLOWを検出する。
MAP_GPIO_getInputPinValue
でピンを状態を確認して、GPIO_INPUT_PIN_LOW 、つまりインプットピンがLOWかを検出する。
PIN1とPIN4でそれぞれ同じコードを書いて、LEDのオンオフができる。
int main(void)
{
/* Stop Watchdog */
MAP_WDT_A_holdTimer();
MAP_GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN0);
MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1);
MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN4);
while(1)
{
if(MAP_GPIO_getInputPinValue(GPIO_PORT_P1, GPIO_PIN1)==GPIO_INPUT_PIN_LOW){
MAP_GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN0);
}
if(MAP_GPIO_getInputPinValue(GPIO_PORT_P1, GPIO_PIN4)==GPIO_INPUT_PIN_LOW ){
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0);
}
}
}
コメント
コメントを投稿