430的DMA可以让两个串口的收发寄存器直接传输吗?
Susan Yang:
您现在使用的是哪款芯片? 对您的描述有些疑惑,能否请您详细说明一下?
The DMA controller transfers data from one address to another, without CPU intervention, across the entire address range.
灰小子:
也没看懂。
猜测楼主是不是想用dma实现串口数据的转发?
没这样试过,应该是不行,估计会有竞争冒险问题。
Xiaodong LI:
回复 灰小子:
我认为是可以的,设置:DMA trigger select; DMA transfer mode; DMA Source Address; DMA Destination Address和其他的必要的寄存器即可,code example 中简单的DMA的code可以作为DMA用法的参考。
user4959119:
回复 Xiaodong LI:
理论上行得通,但是如果在两个串口之间的寄存器转移数据,DMA速度那么快 数据会被覆盖吗?
灰小子:
回复 user4959119:
不清楚楼主的串口通讯速度有多快。
我在一般应用中,用一个缓冲区作为两个串口的数据交换,完全没有问题。
如果通讯速率较高,我会用pingpong模式,用两个缓冲区。
还没试过用dma传输两个串口的数据。