[求助] MSP430F5529外部中断小测试

zqjqq88   2013-3-17 01:00 楼主
#include "msp430.h"
int main( void )
{
   WDTCTL = WDTPW + WDTHOLD;
  P1DIR |= 0x01;//设置P1.0口为输出
  P1IE  |= 0x80;//使能P1.7中断  
  P1IES |= 0x80;//P1.7口下降沿触发中断  
  P1IFG &= ~0x80;//中断标志位清零
  
  _EINT();//开总中断
  while(1)
  {
    ;
  }
   
}
#pragma vector = PORT1_VECTOR  
__interrupt void PORT_1(void)  
{  
  P1OUT ^= 0x01;//P1.0状态翻转  
  P1IFG &= ~0x80;//中断标志位清零  
}



简单的测试代码,大家看看有什么问题啊,按理说应该是按一下LED翻转一次的,但是按键隔好长时间才执行,求指导!

回复评论 (3)

添加
P1OUT =  BIT7;                            // P1.7 set, else reset
P1REN |= BIT7;           

试试
点赞  2013-3-17 08:25

回复 沙发 qinkaiabc 的帖子

OK,这样其实我之前试过,是好的,但是P1.7默认是有初始化值的,P1OUT =  BIT7是否有必要?另外这个加上拉电阻目的是什么呢?
点赞  2013-3-17 10:12
部上拉电阻使能使用中断时,使能内部的上拉电阻这样当该脚悬空是,电平不会跳变,防止悬空时电平跳变不停的触发中断
点赞  2013-8-12 16:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复