我在用c6727 Mcasp 和 Dmax数据传输时遇到了一个问题, 当Mcasp 和 Dmax数据发送完成后,两者就不能再次工作了,重新初始化后能再次工作,可是一般工程上不允许出现这种情况,我调试过事件关闭与使能,无法正常工作,望相关人士给予帮助,谢谢!
Shine:
请问是dmax不再工作还是mcasp不再工作?
Yiping Chen3:
回复 Shine:
程序执行一遍后,dmax就没有再搬移数据了(通过未检测到进入中断8来判别),mcasp能检测到时钟信号,数据不再发生变化,还有就是串行器发送完一次数据后就没再被设置为发送待续状态,以上就是我遇到的问题,但是只要我在初始化dmax和macsp两者后就可以正常工作,可是发送数据周期达不到要求,望予以解答,谢谢!
Shine:
回复 Yiping Chen3:
请问单独的mcasp或者单独的dmax程序能连续工作吗?
Tony Tang:
回复 Yiping Chen3:
你配置成了ping-pong buffer等工作模式了吗?
Yiping Chen3:
回复 Tony Tang:
不是,我mcasp设置的是突发发送模式,dmax设置的是一位传输模式,只是使能了事件6一次,是不是要多次使能?
Yiping Chen3:
回复 Shine:
单独的macsp和dmax分别能工作,我mcasp设置的是突发发送模式,dmax设置的是一位传输模式,只是使能了事件6(mcasp Tx DEQ)一次,是不是要多次使能才能连续工作?调了好久还没有结果,望予以帮助,谢谢。
Yiping Chen3:
回复 Yiping Chen3:
谢谢大家,经过这段时间的调试,我的问题解决了,mcasp已经可以顺利连续发数了。现在,我又遇到了另一个问题,就是我使用mcasp接收数据时,给RBUF赋值,然后通过dmax搬移数据,程序可以顺利运行,可是用示波器检测串行器端口并未检测到有数据接收,请问需要接收的数据该如何处理?谢谢!