DMA
内存到 外设
数据源是全局数组 a[32]
需要重复发送同样的数据
1.如果每次都给地址写好数据 然后开始DMA 重复N次都可以
dma初始化
for (i=0;i<100;i++)
{
...填充数据
...发送
...等待发送完成
}
2. 如果 先写好数据 然后 发送DMA -等待完成-- 再发送-再等待
这样 实际发送的数据是空白的,只有第一次有数据。
dma初始化
先填充数据 ...填充数据
for (i=0;i<100;i++)
{
...发送
...等待发送完成
}
这样 只有第一次DMA有数据 后面都是0
疑问: 就算是 同样的数据 同样的长度 每发送一次都要往数据源填充一次数据吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不是呀,DMA又不会清空你的源数据。肯定是别的问题,短暂延时后再发送试试,DMA的速度跟不上CPU执行指令的速度,可能你后面的DMA根本就没有执行。
一周热门 更多>