4434|8

67

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MSP430无法进入外部中断 [复制链接]

  MSP430F122中,p1.0~p1.3为中断,实现按键外部中断,但是按键按下也不能进入中断函数,是初始化程序没写对么?下面是初始化程序:
  P1DIR&=0xf0;                           //p1.0~p1.3设置为输入
  P1SEL|=0x0F;  //功能引脚
  P1IES|=0x0F;                              //下降沿触发
  P1IE|=0x0F;                            //开中断
  P1IFG &=0x00;

最新回复

使用普通I/O功能,加上拉电阻,你完全可以参照官方例程来的!  详情 回复 发表于 2015-4-30 19:48
 
点赞 关注

回复
举报

2002

帖子

24

TA的资源

五彩晶圆(高级)

沙发
 
1、总中断使能
2、中断函数正确么
 
 

回复

67

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
shower.xu 发表于 2015-4-30 17:04
1、总中断使能
2、中断函数正确么

这是我的程序:


#include "msp430x12x.h"



int main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  unsigned long vout;

  vout=0;

  P1DIR&=0xf0;                           //p1.0~p1.3设置为输入



  P1SEL|=0x0F;  //功能引脚



  P1IES|=0x0F;                              //下降沿触发

  //P1IES&=0xF0;                              //上升沿触发

  P1IE|=0x0F;                            //开中断

  P1IFG &=0x00;



   _EINT();

   P1IE|=0x0F;  

  //P1IFG|= BIT0;

  while(1);



}





  #pragma vector=PORT1_VECTOR

__interrupt void port1 (void)



{

  //unsigned int vout;

  unsigned long vout;

    //_DINT();



    if((P1IFG&BIT0)==BIT0)                            //处理P1IN.0中断

    {

        P1IFG&=~BIT0;                                 //清除中断标志

        vout+=0x0088;                                    //key0,粗调1V

    }

    else if ((P1IFG&BIT1)==BIT1)



    {

        P1IFG&=~BIT1;                                 

        vout-=0x0088;                                    //key1,粗调

    }

     else if ((P1IFG&BIT2)==BIT2)                           

    {

        P1IFG&=~BIT2;                                 

        vout+=0x000D;                                     //key2,微调100mV

    }

     else if ((P1IFG&BIT3)==BIT3)                           

    {

        P1IFG&=~BIT3;                                 

        vout-=0x000D;                                     //key3,微调

    }



   // _EINT();

}


按键接P1.0-P1.3,按键按下进不了中断函数。
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

4
 
是不是因为设了功能引脚啊?

点评

使用普通I/O功能,加上拉电阻,你完全可以参照官方例程来的!  详情 回复 发表于 2015-4-30 19:48
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

5
 
晕,看来半天,你的上拉电阻呢
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

6
 
long5966 发表于 2015-4-30 18:13
是不是因为设了功能引脚啊?

使用普通I/O功能,加上拉电阻,你完全可以参照官方例程来的!
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

67

帖子

0

TA的资源

一粒金砂(中级)

7
 
long5966 发表于 2015-4-30 18:13
是不是因为设了功能引脚啊?

是的!这个看漏了!!谢谢!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(中级)

8
 
huixianfxt 发表于 2015-4-30 19:48
使用普通I/O功能,加上拉电阻,你完全可以参照官方例程来的!

这个设错了,把IO口改成普通就好了,谢谢!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(中级)

9
 
数码小叶 发表于 2015-4-30 19:36
晕,看来半天,你的上拉电阻呢,

f122这个单片机好像没有上拉电阻的设置,我把IO口功能设错了。谢谢!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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