回复下,最后我还是没有实现DMA接收超过1024的数据,现在改用uart接收中断来收的数。不知道怎么配置DMA接收超过1024的,我考虑的,另一头串口不断给我的receive寄存器填数,我同时通过DMA把寄存器里的数转到某个1024的缓存区;当这个1024缓存区被填满,但另一头串口还在给我发数的时候,(如果要实现DMA连续接收)就要在下一个receive寄存器被填上之前,把DMA缓存区的数全部移出来,再把DMA指针移到数组头(要不然这个数就丢了)。我没有实现,感觉有点难,receive来的很快,要在很短的时间内把1024的数据转移,我感觉有难度。要不就换个思路,把DMA那个缓存区设成环形队列?或者别的方法…
我就考虑这么多了,自己没有实现,给大家分享下我的看法。 |