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

硬件环境: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 }
原文地址:https://www.cnblogs.com/huanzxj/p/6642104.html