求助高手 msp430 P1口中断的问题 弄了好长时间了,还是不行啊

2019-03-24 15:26发布

帮忙看看一下程序有错吗?



#include <msp430x41x.h>
unsigned char i;
void main()
{
   WDTCTL=WDTPW+WDTHOLD; //关看门                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    _EINT();                              //开总中断
   P1DIR&=~BIT0;
   P1SEL&=~BIT0;                          //中断功能
   P1IES|=BIT0;                          //选择下降沿触发
   P1IE|=BIT0;                           //打开中断允许
   P1IFG=0;                              //P1IES的切换可能使P1IFG置位,需清除
   P2DIR=0xff;
   P2OUT=0;
   
  while(1);  







}
#pragma vector=PORT1_VECTOR

__interrupt void Port1()
{
    P1IFG=0;
     _EINT();
    i++;
    P2OUT=i;//8个发光二极管用来观察计数情况。
   
   




} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
David_Lee
1楼-- · 2019-03-25 16:21

原帖由 wangfuchong 于 2011-10-20 20:40 发表 P!REN没有设置吧?需要结合P1OUT来设置 不过您使用的是哪个系列芯片呀,有的没有上下拉电阻功能好像

 

如果使用普通的按键来触发中断,我也觉得应该是上下拉没有使能的原因,悬空会搞死人的。

yygyfjkihag
2楼-- · 2019-03-25 18:55
P1IES|=BIT0; //选择下降沿触发
这句应该是上升沿触发吧
其次 char i 没有初值
xumcu
3楼-- · 2019-03-25 20:29
 精彩回答 2  元偷偷看……
xingkong911
4楼-- · 2019-03-26 00:03
终端服务函数中不需要再次打开总中断,变量i没有初始值。
请看看我写的关于IO中断的说明,希望能给你参考一下。
http://bbs.eeworld.com.cn/thread-308128-1-1.html
ssrlxl
5楼-- · 2019-03-26 04:36
硬件的问题,边沿触发
jlzxn2009
6楼-- · 2019-03-26 09:41
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章