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

AM2432: Timer0,Timer8中断失效

Part Number:AM2432

冷启动调试程序,开始时,Timer可以正常产生中断,并进入中断服务。反复运行一段时间后,就会出现Timer中断失效,Timer计数器计数正常累加,检查Timer和VIM寄存器,一切都设置正常,就是没有中断。其他的ADC和PRU中断,都可以正常中断。仿真器重新加载程序,也没有中断,设置TIMER8_CFG_CFG_IRQ_EOI=0,还是没中断,必须要复位PORz冷启动,才能再次产生中断。以下是Timer和VIM的设置:

TIMER8_CFG_CFG_TIDR
50003900 00000000 00000000 00000000
TIMER8_CFG_CFG_TIOCP_CFG
00000008 00000000 00000000 00000000
TIMER8_CFG_CFG_IRQ_EOI
00000000
TIMER8_CFG_CFG_IRQSTATUS_RAW
00000005
TIMER8_CFG_CFG_IRQSTATUS
00000005
TIMER8_CFG_CFG_IRQSTATUS_SET
00000007
TIMER8_CFG_CFG_IRQSTATUS_CLR
00000007
TIMER8_CFG_CFG_IRQWAKEEN
00000007
TIMER8_CFG_CFG_TCLR
00000003
TIMER8_CFG_CFG_TCRR
FFFFBC21
TIMER8_CFG_CFG_TLDR
FFFF9E56
TIMER8_CFG_CFG_TTGR
FFFFFFFF
TIMER8_CFG_CFG_TWPS
00000000
TIMER8_CFG_CFG_TMAR
FFFFF000
TIMER8_CFG_CFG_TCAR1
00000000
TIMER8_CFG_CFG_TSICR
00000004
TIMER8_CFG_CFG_TCAR2
00000000
TIMER8_CFG_CFG_TPIR
00000000
TIMER8_CFG_CFG_TNIR
00000000
TIMER8_CFG_CFG_TCVR
00000010
TIMER8_CFG_CFG_TOCR
00000000
TIMER8_CFG_CFG_TOWR
00000000

Gary Lu:

您好,有几个可能的原因需要排查。首先,你可以检查以下几点:

1. 确保中断使能位被正确设置。通过检查相关寄存器(如TIMER8_CFG_CFG_IRQ_EOI)来确认是否正确启用了中断。

2. 检查中断优先级设置。确保Timer的中断优先级设置正确,并且没有被其他中断抢占。

3. 检查中断服务程序是否正确。确保你的中断服务程序被正确地注册,并且没有其他地方对中断进行了屏蔽或禁用的操作。

4. 检查中断标志位是否被清除。在处理完中断后,确保你的中断服务程序正确地清除了中断标志位。

如果以上步骤都没能解决问题,那可能需要进一步分析你的代码和硬件环境,以找到更具体的原因。希望这些提示能对你有所帮助!如果还有其他问题,请随时提问。

,

li ljch:

好的,谢谢

,

Gary Lu:

不客气,有问题随时交流,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » AM2432: Timer0,Timer8中断失效
分享到: 更多 (0)