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

UART与DMA配合发送的问题

开发板是AM335X  EVM,软件是startware,使用的是用DMA发送串口数据,当发送数据>=3个字节的时候,就可以循环发送,但是当发送的字节小于3个字节的时候,就只能发送一次。

TX_DMA_THRESHOLD,TX_TRIGGER_SPACE_GRAN_1,TX_BYTES_PER_EVENT我都改成1了。

请问一下需要怎么修改才能稳定的用DMA发送1~2个字节的数据?

Shine:

请问如果不用edma方式,uart能循环发送小于3个字节吗?

Steven Liu1:

 我把你的问题拆开来进行描述确认,现在你的问题是说,在两次DMA传递中出现了问题,只能传送一次,然后下一次就不能传送了。还是说,对于传送一次1~2个字节数据的时候出现问题?

另外,你要自己想清楚模式,到底这个事件是说有1个字符过来,我就触发传递,还是说2个,再或者更多。这个在底层做触发实现的时候一定是确定的。

bin lu:

回复 Shine:

不用DMA模式是没问题的

bin lu:

回复 Steven Liu1:

问题是如果数据量是1~2个字节的时候,DMA只能传送一次,下一次就不能发送了,如果数据量是3个字节以上的话,是可以连续DMA发送的。

我现在就是想用DMA发送一个字节的数据,也就是说有一个字符就发送,等DMA完成信号来了再发下一个字符。请问需要怎么改startware里面的代码来实现?

赞(0)
未经允许不得转载:TI中文支持网 » UART与DMA配合发送的问题
分享到: 更多 (0)