OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2792|回复: 6

数组长度太短,但DMA需要传输大量数据

[复制链接]

33

主题

114

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-7-8
在线时间
177 小时
发表于 2019-11-2 14:31:33 | 显示全部楼层 |阅读模式
10金钱
123.png
我想传60000个数据,我该如何发送呢?
如果只能拆分来发送,能不能保证数据是连续的呢(这些数据需要对应时序的,需要连续)?
谢谢

最佳答案

查看完整内容[请看2#楼]

数组不需要大, 比如256也可以, 先把要发的首256个数据放满数组, 然后开DMA传送, 等Half_f, 之后把0x100~0x17F的数据放在数组的0~0x7F, 之后就等Compl_f, 之后把0x180~0x1FF的数据放在数组的0x80~0xFF, 重复以上的步骤直到发完所有数据。 只要是搬动数据或处理数据的速度比SPI发送数据快, 就不会出错, 而且是保证连续的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-11-2 14:31:34 | 显示全部楼层
数组不需要大, 比如256也可以, 先把要发的首256个数据放满数组, 然后开DMA传送, 等Half_f, 之后把0x100~0x17F的数据放在数组的0~0x7F, 之后就等Compl_f, 之后把0x180~0x1FF的数据放在数组的0x80~0xFF, 重复以上的步骤直到发完所有数据。
只要是搬动数据或处理数据的速度比SPI发送数据快, 就不会出错, 而且是保证连续的
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-11-2
在线时间
3 小时
发表于 2019-11-2 14:44:08 | 显示全部楼层
你是不是在那个地方又定义了一个SendBuff?
回复

使用道具 举报

33

主题

114

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-7-8
在线时间
177 小时
 楼主| 发表于 2019-11-2 15:28:35 | 显示全部楼层
yi2030 发表于 2019-11-2 14:44
你是不是在那个地方又定义了一个SendBuff?

不是的,我只定义了一个,只是数组长度超过1536,它就报错
数组小于1536时,我测试过DMA可以发送的
但我实际需要发送的数据长度约为60000
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-11-2
在线时间
3 小时
发表于 2019-11-2 15:44:03 | 显示全部楼层
seraph15 发表于 2019-11-2 15:28
不是的,我只定义了一个,只是数组长度超过1536,它就报错
数组小于1536时,我测试过DMA可以发送的
但 ...

把你的MYDMA_Config代码贴出来看看。
回复

使用道具 举报

33

主题

114

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-7-8
在线时间
177 小时
 楼主| 发表于 2019-11-3 19:47:08 | 显示全部楼层
yi2030 发表于 2019-11-2 15:44
把你的MYDMA_Config代码贴出来看看。

这是【实验23 DMA实验】范例的源码 321.png
回复

使用道具 举报

33

主题

114

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-7-8
在线时间
177 小时
 楼主| 发表于 2019-11-3 19:47:49 | 显示全部楼层
edmund1234 发表于 2019-11-2 18:01
数组不需要大, 比如256也可以, 先把要发的首256个数据放满数组, 然后开DMA传送, 等Half_f, 之后把0x10 ...

看来还是要拆分来发送啊,我先尝试一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 01:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表