2525|9

31

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求助:MSP430中断嵌套 [复制链接]

有谁会msp430中断嵌套,麻烦指教一下。我想实现ADC12中断时能收其他中断,但在ADC12中断设置_EINT();后单片机会不停地自动复位。有谁知道这方面的请指教一下,谢谢啦

最新回复

P1IFG=0; 这句直接放在case语句之后 case 0x01:          P1IFG=0;         delay_ms(20); ..... case 0x02:          P1IFG=0;         delay_ms(20);  详情 回复 发表于 2013-3-30 20:07

点评

不会,关注。  详情 回复 发表于 2013-3-29 13:07
 
点赞 关注

回复
举报

5015

帖子

12

TA的资源

裸片初长成(初级)

沙发
 
你把ADC12的中断服务函数贴出来看看。
 
 

回复

436

帖子

5

TA的资源

五彩晶圆(初级)

板凳
 
原帖由 ljtyqb 于 2013-3-29 08:42 发表
有谁会msp430中断嵌套,麻烦指教一下。我想实现ADC12中断时能收其他中断,但在ADC12中断设置_EINT();后单片机会不停地自动复位。有谁知道这方面的请指教一下,谢谢啦
不会,关注。
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

4
 
//定时器中断用来触发ADC12,开始转换ADC设置为单次采样模式
#pragma vector=TIMERA0_VECTOR
__interrupt void ta0_isr(void)
{
    ADC12CTL0|=ENC+ADC12SC;
}
//ADC12采样包括中断
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void)
{
  _EINT();
  ADC12CTL0 &= ~ENC;
  TEMP1=ADC12MEM0;
……
}
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

5
 
单独操作的时候没有问题,能够进行转换,但加了一个P1中断,用按键控制就不行了,不停地自动复位
 
 
 

回复

5015

帖子

12

TA的资源

裸片初长成(初级)

6
 
P1的中断需要注意清除中断标志位
可能不断的嵌套导致堆栈溢出

点评

有可能是堆栈溢出了,那该怎么解决啊。ADC12用定时器做触发信号源,不用中断,这样会不会起点作用  详情 回复 发表于 2013-3-29 17:10
P1中断标志位清除了 #pragma vector=PORT1_VECTOR //P1中断服务子程序 __interrupt void P1_Interrupt(void) { if(P1IFG&0x1f) { switch(P1IFG&0x1f) //判断是哪个键按下 { cas  详情 回复 发表于 2013-3-29 17:08
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼 wstt 的帖子

P1中断标志位清除了
#pragma vector=PORT1_VECTOR //P1中断服务子程序
__interrupt void P1_Interrupt(void)
{
  
  if(P1IFG&0x1f)
  {
    switch(P1IFG&0x1f)      //判断是哪个键按下
    {
      case 0x01:
        delay_ms(20);
        Reset();
        TACTL|=MC0;    //Timer_A增计数模式
        break;
      case 0x02:
        delay_ms(20);
        TACTL-=MC0;   //Timer_A暂停模式
        delay_ms(500);
        Basepoit();
        break;
      case 0x04:
        delay_ms(20);key=3;break;
      case 0x08:
        delay_ms(20);key=4;break;
      case 0x10:
        delay_ms(20);key=5;break;
    }
  }
  P1IFG=0;
}
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 6楼 wstt 的帖子

有可能是堆栈溢出了,那该怎么解决啊。ADC12用定时器做触发信号源,不用中断,这样会不会起点作用
 
 
 

回复

5015

帖子

12

TA的资源

裸片初长成(初级)

9
 
P1IFG=0;
这句直接放在case语句之后
case 0x01:
         P1IFG=0;
        delay_ms(20);
.....
case 0x02:
         P1IFG=0;
        delay_ms(20);

点评

改了之后还是不行  详情 回复 发表于 2013-4-1 11:07
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复 9楼 wstt 的帖子

改了之后还是不行
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表