实现按下P11。led2交替点亮。
代码:
#include "driverlib.h"
//******************************************************************************
//!
//! Empty Project that includes driverlib
//!
//******************************************************************************
void main(void)
{
WDT_A_hold(WDT_A_BASE);
GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN1); //P11设置为 上拉 输入
GPIO_interruptEdgeSelect(GPIO_PORT_P1,GPIO_PIN1,GPIO_HIGH_TO_LOW_TRANSITION); //P11设置为下降沿中断
GPIO_enableInterrupt(GPIO_PORT_P1,GPIO_PIN1); //使能P11中断
GPIO_clearInterruptFlag(GPIO_PORT_P1,GPIO_PIN1); //清除P11中断标志//
GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0); //设置P10为输出//
GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0); //点亮LED2(P10)
PMM_unlockLPM5();
//Enter LPM4 w/interrupt
__bis_SR_register(LPM4_bits + GIE); //LPM4+使能总中断//
//For debugger
__no_operation();
}
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=PORT1_VECTOR
__interrupt
#elif defined(__GNUC__)
__attribute__((interrupt(PORT1_VECTOR)))
#endif
void Port_1(void)
{
GPIO_clearInterruptFlag(GPIO_PORT_P1,GPIO_PIN1); //清除P11中断标志//
GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0); //翻转LED2
} |