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

QMSS 和 EDMA3 的中断问题

 各位专家好:

       (66AK2L06)我在FFTC的例程中加入EDMA3时,发现EDMA3函数(EDMA3_DRV_enableTransfer)与QMSS(Qmss_init)冲撞,不能进入中断函数;将EDMA3_DRV_enableTransfer 放在  Qmss_init 前可以进入中断函数,放在  Qmss_init 后边不能进入中断函数。

这可能是哪里出了问题?是不是QMSS和EDMA3的中断发生了冲撞?

         查看Qmss_init()函数,没有找到和中断相关的语句; 查看寄存器Interrupt Enable Register 值是 1 -> enable; Event Enable Register 值是 0-> not enable; Event Missed Register 值是 0 -> nor miss; 请问这说明有没有识别中断?

Nancy Wang:

查一下IFR有没有置1,如果置1的话说明中断已经识别。如果没有的话手动置位一下看能否正常进入中断函数,能够进入的话说明中断映射应该是没有问题的。

kang xiao:

回复 Nancy Wang:

将EDMA3放在QMSS之前,IFR值变换情况如下图所示:

EDMA3放在QMSS之后,,IFR值变换情况如下图所示:

区别在于,在判断iqRaised1时,IFR的值不一样: 放在QMSS之前IFR清零,放在QMSS之后IFR不变,这说明 识别了中断,但是没有进入中断,是中断映射的问题, 我这分析的对吗?

kang xiao:

回复 Nancy Wang:

在判断iqRaised1时,Interrupt Pending Register (IPR)的值不一样: 放在QMSS之前IPR清零,放在QMSS之后IPR不变。

Nancy Wang:

回复 kang xiao:

手动置位可以进中断吗?

kang xiao:

回复 Nancy Wang:

不可以。

kang xiao:

回复 Nancy Wang:

你好,根据我查阅的资料(下图所示),EDMA3传输完成,IPR会置位,在中断使能的情况下,就会进入中断服务函数,中断服务函数执行完成之后,IPR会被复位;

我调试的结果是: EDMA3传输完成,IPR会置位,但是没有进入中断服务函数,IPR也就没被复位。

为什么没有进入到中断服务函数?

可能什么原因导致进入不到中断函数?

QMSS对中断会有影响吗?

kang xiao:

回复 Nancy Wang:

我使用的是66AK2L06, 在调试的时候,要查看映射,为什么找不到INTMUX 寄存器?文档里里也没有INTMUXn寄存器?

Nancy Wang:

回复 kang xiao:

看一下这个帖子
e2echina.ti.com/…/19569

kang xiao:

回复 Nancy Wang:

QMSS初始化 会对 EDMA3 中断有什么影响吗?因为 EDMA3_DRV_enableTransfer 放在Qmss_init之前传输正常,可以进入中断服务函数,但是放在Qmss_init后边不能进入中断服务函数。

Nancy Wang:

回复 kang xiao:

简单的初始化应该是不会对中断有影响的,我建议你把代码还有寄存器的状态贴到英文论坛上,看看能不能帮您解决问题。
e2e.ti.com/…/791

赞(0)
未经允许不得转载:TI中文支持网 » QMSS 和 EDMA3 的中断问题
分享到: 更多 (0)