DMA地址问题

2019-07-20 09:13发布

DMA里面的源地址是怎么传的,我现在遇到了一点情况。。
我代码:   1.uint32_t  data[256];
               2.我通过for循环让数组data有值了
               3.     DMA1_Stream5->M0AR = data;

usersrcmain.c(20): error:  #167: argument of type "uint32_t *" is incompatible with parameter of type "uint32_t"

  然后就出现这样的提示,请问我为什么会错?

我的理解是地址传地区给它是没有问题的。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-07-20 12:23
 精彩回答 2  元偷偷看……
美丽的时光机器
2楼-- · 2019-07-20 14:57
把DMA1_Stream5->M0AR = data;改成DMA1_Stream5->M0AR = (uint32_t)data;试试吧
bbq
3楼-- · 2019-07-20 17:26
美丽的时光机器 发表于 2018-3-14 11:12
把DMA1_Stream5->M0AR = data;改成DMA1_Stream5->M0AR = (uint32_t)data;试试吧

这个我设置的data就是uint32_t的。。
美丽的时光机器
4楼-- · 2019-07-20 18:04
 精彩回答 2  元偷偷看……
bbq
5楼-- · 2019-07-20 21:01
 精彩回答 2  元偷偷看……
142zjb
6楼-- · 2019-07-20 23:19
DMA1_Stream5->M0AR = (uint32_t*)data;这样?
或者另外定义一个指针变量,值这个数组,再把指针赋给这个寄存器试试

一周热门 更多>