各位大侠,请问程序中P1.7是如何接收中断的、?2.1与1.7是如何相关联的?

2019-03-24 11:49发布

#include<msp430x16x.h>
int main(void)
{
  WDTCTL=WDTPW+WDTHOLD;//CLOSE WATCHDOG
  
  P2DIR|=0XFF;P2OUT=0XFF;
  
  P1OUT=0X00;
  P1IES|=0X00;  //rising edge strike
  P1IFG=0X00;// because set up P1IES would make p1ifg change also
  P1IE|=0XFF;//p1 module interrupt allow
  _EINT();//  system interrupt allow
  
  int i;
  while(1)
  {
    for(i=1;i<3200;i++)
   
      P2OUT^=0X02;
    }
  }
#pragma vector=PORT1_VECTOR//p1 interrupt serve pragram
__interrupt void  P1_INTERRUPT(void)
{
  if(P1IFG==0X80)
  {
   P1IFG=0X00;//CLEAR INTERRUPT FLAG
   P2OUT^=0X08;
  }
  else P1IFG=0X00;
}
   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
qinkaiabc
1楼-- · 2019-03-24 17:36
 精彩回答 2  元偷偷看……
jqh_111
2楼-- · 2019-03-24 22:25
< :TI_MSP430_内容页_SA7 --> 根据楼主的程序, P2OUT^=0X02;,P2.1的电平状态是不断在翻转的。要P1.7和P2.1有联系,他两必须相连,P1.7是上升沿触发中断。中断程序里是P2.3的状态翻转。一楼正解。
阿正
3楼-- · 2019-03-25 03:31
jqh_111 发表于 2014-3-9 12:36
根据楼主的程序, P2OUT^=0X02;,P2.1的电平状态是不断在翻转的。要P1.7和P2.1有联系,他两必须相连,P1.7 ...

懂了,谢谢~~~

一周热门 更多>

相关问题

    相关文章