打印
[STM32F1]

通过SPI连续保存数据,使用DMA方式需要注意什么?

[复制链接]
1539|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lnhaing|  楼主 | 2015-2-3 16:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lnhaing 于 2015-2-4 09:00 编辑

SPI通信, 数据发送到存储芯片。目前设置的波特率设置为18M,采用检测发送缓冲空标志位来执行下一个数据的发送。
在连续保存50个16位的数据下,如果采取DMA方式,CPU能节省多少效率?有没有必要采取DMA方式?

DMA方式下,只要把数据放在连续的地址空间里,开启DMA就好了?
-------------------------------------------------------------------------------------
我是检测数据改变才保存的,那这种情况有时候是非连续保存,
如果是非连续保存效率上也会提高吗?
沙发
popeye021| | 2015-2-3 17:50 | 只看该作者
参考官方关于DMA的demo程序即可啊

使用特权

评论回复
板凳
airwill| | 2015-2-3 22:19 | 只看该作者
连续保存50个16位的数据, 如果频繁出现这样的操作,DMA 对 CPU 时间的节省是有效果的。至于能节省多少,还得看你的数据来源,保存的过程。
DMA方式下,只要把数据放在连续的地址空间里,开启DMA就好了?还有先要设定 DMA 传输的量

使用特权

评论回复
地板
lnhaing|  楼主 | 2015-2-4 08:09 | 只看该作者
airwill 发表于 2015-2-3 22:19
连续保存50个16位的数据, 如果频繁出现这样的操作,DMA 对 CPU 时间的节省是有效果的。至于能节省多少,还 ...

谢谢!现在写的程序是数据改变了就保存,有时候可能会遇到多个数据同时改变,然后同时保存!

使用特权

评论回复
5
foxglove| | 2015-2-5 15:54 | 只看该作者
学习学习   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

82

帖子

0

粉丝