2019-07-20 23:15发布
likunxue 发表于 2016-3-28 15:12 取缓存区首地址直接付值给 DMA就行了
likunxue 发表于 2016-3-28 15:12 取缓存区首地址直接付值给 DMA就行了 ADC_Buf[SZIE]; //ADC缓存区
likunxue 发表于 2016-3-28 15:19 你定义的缓存区数组名称就是首地址
lishuaiwanm 发表于 2016-3-28 15:20 大神,ADC_Buf[SZIE],这个不用在头文件中声明吧,芯片定义的缓存区就是Buf[SZIE]??? 谢谢谢谢
最多设置5个标签!
取缓存区首地址直接付值给 DMA就行了
ADC_Buf[SZIE]; //ADC缓存区
DMA_CHx->CMAR = (u32)ADC_Buf //DMA1,存储器地址
大神,请问芯片内部的SRAM的首地址在哪里查找呀?DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)ADC1_DR_Address 是这样写吗???
大神,ADC_Buf[SZIE],这个不用在头文件中声明吧,芯片定义的缓存区就是Buf[SZIE]??? 谢谢谢谢
那就是我自己定义一个数组的名字和大小,然后数组默认存储在芯片内部的SRAM中?
你是要取外设ADC的地址或是数据缓存区地址啊! 用DMA完成 ADC转换传输,就需要两个地址嘛
一是你需要保存的数据,转换后的ADC数据, 就是数据缓存区首地址
另一个是 ADC的数据转换寄存器地址, 就是DMA读取的数据的地址
DMA_CHx->CPAR = (u32)&ADC1->DR; //DMA1 外设地址
一周热门 更多>