msp launchpad做中断是的问题

2019-03-24 13:02发布

#include "io430.h"



void Key_init(void)
{
// P1REN |= BIT3; //打开上拉,电路板上没有上拉电阻,触发边沿是从高电平到低电平
  P1IES |= BIT3; //选择触发边沿,下降沿触发
  P1IE |= BIT3; //打开P1.3的中断
  P1IFG &= 0x00;
}
int main( void )
{
  WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗

  P1DIR |= BIT0; //P1.0管脚设置为输出
  P1OUT |= BIT0; //P1.0管脚输出低电平
  Key_init(); //调用IO中断初始化函数

  _EINT(); //开启总中断,这一步没有的话,所有的中断都不能触发

  while(1); //死循环
}


#pragma vector = PORT1_VECTOR //中断向量声明
__interrupt void Key_interrput(void)
{
unsigned int i;
for(i=0;i<0x1fff;i++); //消抖必不可少啊!!
if(P1IFG&BIT3) //判断是不是P1.3这个IO口产生了中断
{ //若产生中断P1IFG.3置1
P1OUT ^= BIT0; //LED2取反
P1IFG &= 0x00; //中断标志位 需要软件清除!!!
//P1REN |= BIT3;
}
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
Geniesharp
1楼-- · 2019-03-25 13:58
 精彩回答 2  元偷偷看……
Geniesharp
2楼-- · 2019-03-25 16:36
发现头文件里没有   _EINT()
那要怎么弄?
qinkaiabc
3楼-- · 2019-03-25 18:17
楼主,请看3楼
qinkaiabc
4楼-- · 2019-03-25 19:13
 精彩回答 2  元偷偷看……
Geniesharp
5楼-- · 2019-03-25 21:38
ok了谢谢了~·~
qinkaiabc
6楼-- · 2019-03-25 22:16
不谢不谢

一周热门 更多>

相关问题

    相关文章