完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
如题,使用F756芯片,使用DMA2搬运SPI1的DR数据到数组A[],调试中发现以下现象:
1.debug可以看出A[]数据是对的,但是数组A[]不能向另一个数组B[]赋值,赋值结果为0; 2.A[]不能进行排序,A[]数组元素之间相互赋值也会失败; 3.使用串口打印,发现打印出的A[]数据全为0; 目前可排除原因: 1:数组定义内存位置冲突等问题,在相同位置定义数组,读取都正常 区别就在于数组A[]为DMA memory address; 2MA操作与程序操作冲突问题不存在,在保证DMA写满A[]后,A[]中数据依然无法赋给B[]; so? |
|
相关推荐
7个回答
|
|
|
你DMA的数据缓存是设置为共享,还是独享的?
|
|
|
|
|
|
楼主,试试用memcpy函数把A数组的值复制至B,观察能否成功。最好能贴上你的代码大家一起来分析一下。
|
|
|
|
|
|
不知道什么情况,DMA停了后读取,如果用指针方式都无法读取的话,那么就没办法了。
|
|
|
|
|
|
|
|
|
|
|
|
不懂,帮顶
|
|
|
|
|
|
建议楼主检查下程序,如果方便建议贴出来,大家一起看下。DMA应该不影响缓存数据的读取和排序,我用DMA来搬运ADC扫描模式的数据,对得到的缓存数据排序取平均,计算都为正常。
|
|
|
|
|
|
问题表示不清楚,A[]给B[]赋值,怎么赋值?你是怎么做的?
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 08:50 , Processed in 0.836985 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2885