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部分的底部文本(绿色框):
TI中文支持网



