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

求助!2812 ifr已置位但无法进中断服务程序的问题。

参考官方例程,将gpioe1管脚复用为xint2中断,配置为上升沿触发中断,无论是在软件中令pieifr intx5等于1还是外部触发,都无法进中断服务程序,而且用watch window观察时,Ifr标志位已经从0变成了1。之前怀疑是中断服务程序地址没正确给到中断向量,观察了initpievectable,发现都是给对了的。然后现在又怀疑是外部看门狗没有喂狗导致进不了中断,但是添加了喂狗的程序也无法进入中断。而且一直有个问题是程序无法全速运行,只能单步调试。

我不晓得是看门狗写的不对还是别的什么原因。我尝试在while循环里不断喂狗,也无法全速运行。下图是程序。求大神指导!

看门狗的wdi连了gpiod0,它要求1.6s给一个输入,我就让该管脚翻转。不知道这样对不对。

XinYu Zhong:

回复 mangui zhang:

这里的相关外设指的是什么?我只是将gpioe1复用为xint2中断了。而且在initsysctrl函数里面有对外设使能的部分。就是配置了高速时钟和低速时钟,然后给外设时钟使能。这里用的是ti的例程,没有改过。

参考官方例程,将gpioe1管脚复用为xint2中断,配置为上升沿触发中断,无论是在软件中令pieifr intx5等于1还是外部触发,都无法进中断服务程序,而且用watch window观察时,Ifr标志位已经从0变成了1。之前怀疑是中断服务程序地址没正确给到中断向量,观察了initpievectable,发现都是给对了的。然后现在又怀疑是外部看门狗没有喂狗导致进不了中断,但是添加了喂狗的程序也无法进入中断。而且一直有个问题是程序无法全速运行,只能单步调试。

我不晓得是看门狗写的不对还是别的什么原因。我尝试在while循环里不断喂狗,也无法全速运行。下图是程序。求大神指导!

看门狗的wdi连了gpiod0,它要求1.6s给一个输入,我就让该管脚翻转。不知道这样对不对。

XinYu Zhong:

是外部看门狗没喂狗的问题,导致一直复位。用fpga喂狗后就好了。

赞(0)
未经允许不得转载:TI中文支持网 » 求助!2812 ifr已置位但无法进中断服务程序的问题。
分享到: 更多 (0)