两个通道,一个使用GPIO进行触发,并连接了一个PARAM进行自我连接,运行正常。连接是可以触发的。
另一个通道,方式为:TRIG_MODE_MANUAL,其他配置都是一样的,也连接了一个PARAM,但是连接到的PARAM没有运行,原本的那个运行到了。
手动触发 的在CC0与CC1两个DMA中都是无法连接。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
两个通道,一个使用GPIO进行触发,并连接了一个PARAM进行自我连接,运行正常。连接是可以触发的。
另一个通道,方式为:TRIG_MODE_MANUAL,其他配置都是一样的,也连接了一个PARAM,但是连接到的PARAM没有运行,原本的那个运行到了。
手动触发 的在CC0与CC1两个DMA中都是无法连接。
user3688025 说:一个通道默认是要设置一个PARAM0的,但是这个PARAM0连接到PARMA1,PARAM1不再连接:
param1.linkAddr = (unsigned short) 0xffffu;
这时,手动通过EDMA3EnableTransfer进行触发一次,这时,PARAM0消耗完了,但是PARAM1一次也没有运行,这是正常的么?
不应该是把所有的PARAM都消耗完后才会结束么?
这是正常的结果,param0消耗完后,通过link地址把link的param1拷贝到param0的位置,等待下一次触发。
user3688025 说:还是说,手动触发一次消耗PARAM0,再手动触发第二次才会消耗PARMA1.
是的,要再手动触发。
user3688025 说:手动触发第三次时呢,消耗PARAM0么?第四次再消耗PARMA1,这样的循环?
每次都要触发。你在用GPIO时看到消耗了,是因为不停的有GPIO信号进来。
在edma例程里也有说明:手动触发需要多次使能EDMA3EnableTransfer
/*
* Since the transfer is going to happen in Manual mode of EDMA3
* operation, we have to 'Enable the Transfer' multiple times.
* Number of times depends upon the Mode (A/AB Sync)
* and the different counts.
*/