在使用lpc54606的时候,我用pin引脚中断去触发dma工作,当引脚发生中断信号后,dna确实工作了一次,但是如果我不手动清除引脚中断的标志位,当下一个中断来的时候dma是不会工作的!我想实现如何在dma完成后自动清楚中断标志位!
假设我将内存的数据(比如我提前设置为1,这样就可以清除中断0的标志位了)直接传输到引脚中断的标志位寄存器,以实现自动的效果!确实可以实现连续触发了!但是还有如下问题,当我在线调试的时候,我打断点暂停程序再运行,这个时候会发现dma再也不能运行了,如果手动清除引脚中断的标志位寄存器dma又会继续开始工作了
使用sct触发DMA同样会出现,暂停程序后,继续运行,dma不会重新工作
是因为我的设置不对导致,不自动清除触发信号对应的标志位?
希望能得到大家的帮助 十分感谢
Solved! Go to Solution.
Hi,
我在LPCXpresso54608板子上做了测试,跟你反应的情况相同。
如果使用PINT来触发DMA传输,需要清除PINT中断标志,否则无法再次触发DMA传输。
Have a great day,
Mike
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
我在LPCXpresso54608板子上做了测试,跟你反应的情况相同。
如果使用PINT来触发DMA传输,需要清除PINT中断标志,否则无法再次触发DMA传输。
Have a great day,
Mike
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
非常感谢您的回复,本打算用引脚触发DMA来进行工作的,看来是不行了,还是的继续用sct来触发DMA了。