1.移植starterware的SPI_EDMA 例程,发现不成功,暂停程序运行的,发现程序停留在wireEnbale函数里面的【while((0 == flagTx) || (0 == flagRx));】语句,也就是说中断服务函数并没有调用回调函数,点击run to line到服务子程序,发现并没有跳到EDMA的中断完成服务子程序,这是什么原因呢。按理说根据官方提供的例程配置,应该是没问题的,至少会响应下中断吧。
2.EDMA配置之后,启动。然后再启动相关事件,比如SPI,是不是EDMA自动就发生一个中断的?对于它这个机制,还不是特别明白。
noaming:
先测量一下SPI接口的信号,看是什么情况
yulin li:
回复 noaming:
按照编译器里运行的情况来看 应该是没有信号的。我写了个循环语句,不断的发送写使能信号,用示波器查看,并没有在管脚上探测到信号。 中断没有触发,应该代表DMA传输就没有完成吧。 配置就是按starerware的,原封不动的复制也发现不行
noaming:
回复 yulin li:
你先看看这里的资料
http://processors.wiki.ti.com/index.php/StarterWare_SPI