MAXWELL_TANG 发表于 2012-8-3 19:45:56

LaunchPad 仿真时有时无法进入中断

今天调试LaunchPad M430G2553 的ADC10时 ,发现在硬件仿真的时候时不时的无法进入ADC10的中断
我的ADC10的设置为:
      ADC10CTL0 |= SREF_0 + ADC10SHT_3 + ADC10ON + ADC10IE;
       
        ADC10CTL1 |= INCH_0 + SHS_1 + ADC10SSEL_2 + CONSEQ_3;
       
        ADC10AE0 |= BIT0;
       
        ADC10DTC0 |= ADC10CT;
       
        ADC10DTC1 = 0x0F;
       
        ADC10SA = (unsigned short)g_ADC10_receiced;
前后都对ENC位进行置位与复位;
TimerA0的设置为:
        TACTL = TACLR;
       
        TACTL = TASSEL_2 + MC_2;
       
        TACCTL1 = OUTMOD_4 + CCIE;
       
        TACCR1 = 500;
我设置的ADC10是用TimerA的CCR1对应的PWM输出作为ADC10的采样保持定时器的触发源,运行的时候每次都能进入中断(即使ADC10罢工,不进中断TimerA也照进不误)

我想问各位大神的是:
      我是用一根USB现对430进行仿真及供电,会不会是电压的问题导致430无法正常工作呢。。。。。。。
还是说只是程序的问题。。。。。。。

MAXWELL_TANG 发表于 2012-8-3 19:58:11

本帖最后由 MAXWELL_TANG 于 2012-8-3 20:00 编辑

后来我对程序修改,中断是可以正常进了,但每次没过一会儿,IAR上就报错,说CPUOFF,进入低功耗,但我并没有设置低功耗啊。。。

MAXWELL_TANG 发表于 2012-8-3 20:02:39

在函数或中断函数里对 ADC10SA 进行重复赋值的时候,430无法正常进入中断;但只在开始初始化的时候赋值的话,CPU又会关闭进入低功耗。。。。

MAXWELL_TANG 发表于 2012-8-3 20:51:39

程序貌似是停在了TAIV里面(Diassembly里)

MAXWELL_TANG 发表于 2012-8-3 20:53:13

000140    0000               ????
000142    0000               ????
000144    0000               ????
000146    0000               ????
000148    0000               ????
00014A    0000               ????
00014C    0000               ????
00014E    0000               ????
000150    0000               ????
000152    0000               ????
000154    0000               ????
000156    0000               ????
000158    0000               ????
00015A    0000               ????
00015C    0000               ????
00015E    0000               ????
TA0CTL:
TA0CTL.ID0:
TA0CTL.ID1:

MAXWELL_TANG 发表于 2012-8-3 20:56:56

后来我又用断点手动和自动测进ADC10中断的次数,手动话大概十几次后CPUOFF,SCG0置位,进入低功耗;自动的话在355次左右时CPUOFF,SCG0置位,进入低功耗,各位大神求解啊

taozhihua1314 发表于 2012-8-3 21:20:57

顶起,同样
页: [1]
查看完整版本: LaunchPad 仿真时有时无法进入中断