3654|18

24

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

msp430上升沿中断,陷入死循环 [复制链接]

以下是我的代码,设置P2.0端口为上升沿中断,但是一直陷入死循环,求指教

  1. #include <msp430.h>
  2. #include<xianshi.h>
  3. #include<GPIO_init.h>
  4. #include<dushuju.h>

  5. ////上位机

  6. /*
  7. * main.c
  8. */
  9. unsigned char shidu,wendu,shiduh,shidul,wenduh,wendul,i;

  10. void main(void) {
  11.     WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
  12.     GPIO_init();
  13.     Init5110();

  14.         P2DIR&=~BIT0;
  15.         P2REN|=BIT0;
  16.         P2OUT&=~BIT0;    //设置为下拉电阻
  17.         P2IES&=~BIT0;   //上升沿中断
  18.         P2IFG&=~BIT0;
  19.         P2IE|=BIT0;
  20.         _enable_interrupts();
  21. #pragma vector=PORT2_VECTOR
  22. __interrupt void PORT_2(void)
  23. {
  24.         P4DIR|=BIT7;
  25.         P4OUT|=BIT7;


  26.         P2IFG&=~BIT0;
  27. }



  28. void abort(void)
  29. {
  30.    /*-------------------------------------------------------------------*/
  31.    /* SET C$EXIT LABEL SO THE DEBUGGER KNOWS WHEN THE C++ PROGRAM HAS  */
  32.    /* COMPLETED.  THIS CAN BE REMOVED IF THE DEBUGGER IS NOT USED.      */
  33.    /*-------------------------------------------------------------------*/
  34.    __asm("        .global C$EXIT");
  35.    __asm("C$EXIT: nop");

  36.    for (;;);   /* SPINS FOREVER */
  37. }
复制代码


最新回复

对的,可读性差的代码移植到其他的平台也棘手  详情 回复 发表于 2015-8-10 22:59
 
点赞 关注

回复
举报

6040

帖子

202

TA的资源

版主

沙发
 
断点调试,观察P2IFG,是否有其他的中断源。
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
怎么感觉你的main函数怪怪的,把中断服务函数写到里面了,不应该是写到main函数外面的吗??

点评

不觉得是少了main函数尾部的花括号么? 然后,整个main函数木有主循环。。。跑完程序直接复位。。。  详情 回复 发表于 2015-8-10 01:16
对,中断函数应该是在外面的啊,他这种写法很奇怪,没有试过,不知道可行不。即使可行,我觉得也不好看。  详情 回复 发表于 2015-8-10 00:06
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

4
 
强仔00001 发表于 2015-8-9 23:09
怎么感觉你的main函数怪怪的,把中断服务函数写到里面了,不应该是写到main函数外面的吗??

对,中断函数应该是在外面的啊,他这种写法很奇怪,没有试过,不知道可行不。即使可行,我觉得也不好看。

点评

读的,我没试过这样写,感觉这样有问题吧  详情 回复 发表于 2015-8-10 20:51
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

5
 
强仔00001 发表于 2015-8-9 23:09
怎么感觉你的main函数怪怪的,把中断服务函数写到里面了,不应该是写到main函数外面的吗??

不觉得是少了main函数尾部的花括号么?
然后,整个main函数木有主循环。。。跑完程序直接复位。。。

点评

对的连个while(1)之类都没有  详情 回复 发表于 2015-8-10 20:52
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

6
 
那个是我上传程序代码的时候,少了一个括号,完整的代码,在main函数和中断函数之间有括号的
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(中级)

7
 
把for(;;)放在main函数里面最后一行。另外这样编程和原理图示对应的吗,原理图别是下降沿中断、、、、

点评

话说遇到这种情况怎么解决?Error connecting to the target: Unknown device  详情 回复 发表于 2015-8-10 16:31
那个for(;;),是在另一个文件中  详情 回复 发表于 2015-8-10 16:31
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

8
 
xushun716 发表于 2015-8-10 13:24
把for(;;)放在main函数里面最后一行。另外这样编程和原理图示对应的吗,原理图别是下降沿中断、、、、

那个for(;;),是在另一个文件中
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

9
 
xushun716 发表于 2015-8-10 13:24
把for(;;)放在main函数里面最后一行。另外这样编程和原理图示对应的吗,原理图别是下降沿中断、、、、

话说遇到这种情况怎么解决?Error connecting to the target: Unknown device

点评

换个USB口,或者重安驱动试试  详情 回复 发表于 2015-8-10 16:44
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(中级)

10
 
毅栋 发表于 2015-8-10 16:31
话说遇到这种情况怎么解决?Error connecting to the target: Unknown device

换个USB口,或者重安驱动试试

点评

解决了,感谢你这么积极回应我的问题  详情 回复 发表于 2015-8-10 19:26
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

11
 
xushun716 发表于 2015-8-10 16:44
换个USB口,或者重安驱动试试

解决了,感谢你这么积极回应我的问题

点评

原因查出来没有?可以在论坛分享一下。  详情 回复 发表于 2015-8-10 20:28
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

12
 
毅栋 发表于 2015-8-10 19:26
解决了,感谢你这么积极回应我的问题

原因查出来没有?可以在论坛分享一下。

点评

是板子的问题  详情 回复 发表于 2015-8-11 16:15
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

13
 
huaiqiao 发表于 2015-8-10 00:06
对,中断函数应该是在外面的啊,他这种写法很奇怪,没有试过,不知道可行不。即使可行,我觉得也不好看。

读的,我没试过这样写,感觉这样有问题吧

点评

就是滴,不管程序对不对。但是楼主那样写至少程序的可读性很差。我个人的话,不建议那样写呢。  详情 回复 发表于 2015-8-10 21:09
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

14
 
qiushenghua 发表于 2015-8-10 01:16
不觉得是少了main函数尾部的花括号么?
然后,整个main函数木有主循环。。。跑完程序直接复位。。。

对的连个while(1)之类都没有
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

15
 
强仔00001 发表于 2015-8-10 20:51
读的,我没试过这样写,感觉这样有问题吧

就是滴,不管程序对不对。但是楼主那样写至少程序的可读性很差。我个人的话,不建议那样写呢。

点评

赞同,要养成好的风格和习惯  详情 回复 发表于 2015-8-10 21:45
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

16
 
huaiqiao 发表于 2015-8-10 21:09
就是滴,不管程序对不对。但是楼主那样写至少程序的可读性很差。我个人的话,不建议那样写呢。

赞同,要养成好的风格和习惯

点评

对对,代码是给人看的。可读性不好,的确不好啊。  详情 回复 发表于 2015-8-10 21:51
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

17
 
强仔00001 发表于 2015-8-10 21:45
赞同,要养成好的风格和习惯

对对,代码是给人看的。可读性不好,的确不好啊。

点评

对的,可读性差的代码移植到其他的平台也棘手  详情 回复 发表于 2015-8-10 22:59
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

18
 
huaiqiao 发表于 2015-8-10 21:51
对对,代码是给人看的。可读性不好,的确不好啊。

对的,可读性差的代码移植到其他的平台也棘手
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

19
 
qiushenghua 发表于 2015-8-10 20:28
原因查出来没有?可以在论坛分享一下。

是板子的问题
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表