3225|0

21

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MSP430F5529的P2口外部中断 [复制链接]

请问下,我将P2的3和4脚设置为外部下降沿中断,带上拉输入,用2个按键对应3和4脚来控制,可是为什么我按其中的一个按键3和4脚的标志位为什么都置1了呢,不应该是对应的脚置1么


P1DIR |=BIT0;                         //P8.1为输出
  P8DIR |=BIT1;                         //P8.1为输出
  P8DIR |=BIT2;                         //P8.1为输出
  P2DIR&=~BIT1;                         //将P2.1脚设置为输入方式

  P2DIR&=~BIT3;                         //将P2.3脚设置为输入方式

  P2DIR&=~BIT4;                         //将P2.4脚设置为输入方式

  P2REN|=BIT1+BIT3+BIT4;                //使能P2.1、P2.3、P2.4上拉、下拉寄存器
  P2OUT|=BIT1+BIT3+BIT4;                //将P2.1、P2.3、P2.4设置为上拉输入
  P2IES|=BIT1+BIT3+BIT4;                //将P2.1、P2.3、P2.4设置下降沿触发中断
  P2IFG&=~BIT1;
  P2IFG&=~BIT3;
  P2IFG&=~BIT4;                         //清除P2.1、P2.3、P2.4中断标志位
  P2IE|=BIT1+BIT3+BIT4;                 //使能P2.1、P2.3、P2.4中断
这是我的中断程序

#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
  if((P2IFG&BIT1) == BIT1)
  {
    P2IFG &= ~BIT1;                         // Clear P2.1 IFG
    P8OUT ^= BIT1;
  }
  if((P2IFG&BIT3) == BIT3)
  {
    P2IFG &= ~BIT3;                         // Clear P2.3 IFG
    P8OUT ^= BIT2;
  }
  if((P2IFG&BIT4) == BIT4)
  {
    P2IFG &= ~BIT4;                         // Clear P2.4 IFG
    P1OUT ^= BIT0;
  }
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 6

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表