TI中文支持网
TI专业的中文技术问题搜集分享网站

Z-Stack下Timer3无法定时进入中断

各位Ti的大神你们好:

             我需要定时70us进入Timer3中断,检测P0.7的电平值,考虑到Timer3的中断优先级不是太高,因此先做了一个每进入Timer3中断一次就翻转P0.7的测试程序,通过示波器观察输出的波形很不稳定(60us-80us都有)。我又做了一个不带Z-Stack的裸机程序,输出的波形却很稳定。我做了进一步的测试:在Mac_mcu.c中关闭了RF中断和REERR中断,并将Timer3中断组的优先级调至最高,但是输出的波形还是不稳定。

        请问我该如何在不改变Z-Stack其他中断优先级的情况下,定时进入Timer3中断?

以下是我Timer3寄存器的设置:

T3CTL = 0x7f; //Timer3设置为正/倒计数模式
T3CC0 = 130;

Mac_mcu.c中断优先级的配置:

/* set RF interrupts one notch above lowest priority (four levels available) */
IP0 |= IP_RFERR_RF_DMA_BV;
IP1 &= ~IP_RFERR_RF_DMA_BV;

/* set T2 interrupts one notch above lowest priority (four levels available)
* This effectively turned off nested interrupt between T2 and RF.
*/
IP0 |= IP_RXTX0_T2_BV;
IP1 &= ~IP_RXTX0_T2_BV;

//Set T3 interrupts to highest
IP0 |= BV(3);
IP1 |= BV(3);

VV:

并不是因为中断优先级的缘故,而是代码在执行过程中,有些是有临界区保护的,所以进入的时候把EA关了,等出来以后才EA打开

赞(0)
未经允许不得转载:TI中文支持网 » Z-Stack下Timer3无法定时进入中断
分享到: 更多 (0)