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

TMS320F280049: 例程lin_ex3_sci_dma.c测试DMA问题

Part Number:TMS320F280049

 1、    设置接收在开始触发中断DMA_setInterruptMode(DMA_CH6_BASE, DMA_INT_AT_BEGINNING);(目的做计时Timeout)

当检测到不接收新数据时开始处理数据,由于接收的数据会比 TRANSFER小,   DMA_configTransfer(DMA_CH6_BASE, TRANSFER, -0, 1);

目前测试重新    DMA_startChannel(DMA_CH6_BASE);开始接收数据无法触发新中断,,实际测试很既需要清LIN也需要清DMA,请问具体需要清除那些寄存器,该怎么做

DSP应用:

找到具体问题了,由于我设置的brust为1 ,DMA以1word为基础进行接收,当接收数据为奇数时就会有这个问题,该如何解决?如何把接收寄存器置位

,

Yale Li:

您好,我已经向资深工程师寻求帮助。有了结果会第一时间回复。

,

DSP应用:

接收奇数,第一次正常接收,第二次LinaRegs.SCIFLR.bit.WAKEUP就是置1

,

Yale Li:

您能否确认一下您的LIN FIFO (multibuffer)的中断等级(interrupt level)是多少?当DMA的burst为1时,它应该为1。我们的工程师认为问题出在这里。

,

DSP应用:

中断等级这个在哪个寄存器查看,burst为1,这个指1个word,我所说的奇偶是指byte,就是接收15个byte->7.5个word时候会出问题LinaRegs.SCIFLR.bit.WAKEUP就是置1

,

Yale Li:

好的,已经跟进给工程师了。

,

Yale Li:

请参阅 TRM LIN 章节的“Receive DMA Requests”部分:

如您所见,LENGTH 决定了何时触发 DMA 请求。

另请注意上面提到的多处理器模式设置和 DMA。

如果您遇到问题,我们建议您禁用多缓冲模式。

另请注意下面Receive Interrupt部分的底部文本(绿色框):

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F280049: 例程lin_ex3_sci_dma.c测试DMA问题
分享到: 更多 (0)