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

uart用edma接收方式问题

大神,用edma接收uart数据有一事不明,

为什么我设置了fifo模式,14字节触发,但是每次即使我发一个数据他也会触发edma事件!?

假如是我设置有问题,那这个trigger level是不是说小于它的数据会被暂存在fifo里?那我发15个字节的话是不是说会把最后一个丢掉在fifo里 下一次才会收到?

另外还有个现象,我edma Acnt填写4,但是我只发了一个字节到uart,edma竟然会在一个有效字节后面额外搬移三个0到接收缓冲中,请问这个正常吗?

请专家赐教,多谢了!

Andy Yin1:

receiver FIFO trigger level是针对接收侧,你只发送一个数据产生的中断应该是receiver timer out interrupt,如手册所述,这个中断也会触发EDMA。

EDMA的搬移长度取决于EDMA 的配置,你这里配置ACnt=4,每次触发EDMA肯定就只搬4bytes,即使trigger level=14bytes产生一个中断事件触发EDMA每次搬移的还是4bytes。

user3757070:

两种:

1、trigger level正常触发

2、timeout触发

看文档

我有个问题,是我的trigger level不是我设置的,假设我设置4字节,第一次是4字节,然后就变成14字节

赞(0)
未经允许不得转载:TI中文支持网 » uart用edma接收方式问题
分享到: 更多 (0)