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

C6748的SPI0通过EDMA接收数据失败

1、参考的startware里面 SPI_EDMA的例程,把相关SPI1的内容改成SPI0,仿真调试会在回调函数这个地方卡住,这个是什么原因?

while((0== flagTx) || (0== flagRx));

flagTx =0;

flagRx =0;

2、注册了回调函数的目的是干嘛?

3、EDMA是设置一次PaRAM,EDMA传输完成后这个PaRAM就失效了吗?然后需要再传就再配置一次?连续的模式怎么配置呢?

Shine:

请问相关SPI1内容是怎么改的?SPI0用的也是CS0片选信号吗?可以先看一下SPI user guide了解一下例程的架构。
processors.wiki.ti.com/…/StarterWare_SPI

如果PaRAM里设置了Link的话,会自动link到新的PaRAM。如果没有设置Link,不会失效,下一个触发事件到来会再传输。

fei jie:

回复 Shine:

SPI0用的基本的三线模式,现在好像能DMA传数据,但是传输完了不中断。IPR没有挂起,不中断么flagTx=0,程序就会卡在那。这个回调函数我能不能不要,我还是没看懂回调的意义。

另外请教一下,MCU 16KHz采样后数据通过SPI传输到C6748,再EDMA传输。那C6748是不是得按16KHz的中断频率去读MCU?这样岂不是很耗资源,每隔一段时间都要中断去读,请问可以有其他更合适的方法么。

user5245149:

回复 Shine:

您好!

    假设我在IPU2下 spi salve+edma已经可以正常工作,是否可以移植到VISION SDK下IPU2 app下用,但是移植过程中发现工作不起来,怀疑EDMA冲突,因为在VISION下每个核都进行了UtilsEdma_init,  请问我应该如何避免冲突,或者如何在VISION sdk配置EDMA +spi从模式,非常感谢!

赞(0)
未经允许不得转载:TI中文支持网 » C6748的SPI0通过EDMA接收数据失败
分享到: 更多 (0)