DSP

[原创]MSP430FR4133练习(一):GPIO输入电平状态判断

2019-07-13 16:39发布

硬件环境:MSP430FR4133 LANCHPAD开发板 软件环境:IARV7.10 For 430  源代码: 1 #include "driverlib.h" 2 3 void main(void) 4 { 5 //Stop WDT 6 WDT_A_hold(WDT_A_BASE); 7 while(1) 8 { 9 //设置P1.0为输出,接LED 10 GPIO_setAsOutputPin( GPIO_PORT_P1,GPIO_PIN0 ); 11 //设置P4.0为输出,接LED 12 GPIO_setAsOutputPin( GPIO_PORT_P4,GPIO_PIN0 ); 13 14 //设置P1.2输入,内部上拉,接按键 15 GPIO_setAsInputPinWithPullUpResistor( GPIO_PORT_P1,GPIO_PIN2 ); 16 17 //判断P1.2输入电平(按键按下为低,释放为高) 18 if( GPIO_getInputPinValue( GPIO_PORT_P1,GPIO_PIN2 ) == GPIO_INPUT_PIN_HIGH ) 19 { 20 GPIO_setOutputHighOnPin( GPIO_PORT_P1,GPIO_PIN0 ); 21 GPIO_setOutputLowOnPin( GPIO_PORT_P4,GPIO_PIN0 ); 22 } 23 else 24 { 25 GPIO_setOutputLowOnPin( GPIO_PORT_P1,GPIO_PIN0 ); 26 GPIO_setOutputHighOnPin( GPIO_PORT_P4,GPIO_PIN0 ); 27 } 28 29 PMM_unlockLPM5(); 30 } 31 32 //Enter LPM4 w/interrupts enabled 33 __bis_SR_register(LPM4_bits + GIE); 34 35 //For debugger 36 __no_operation(); 37 }