你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

12
返回列表 发新帖
楼主: 蓝凌风

用DMA直接驱动GPIO,实现GPIO最高输出速率

[复制链接]

5

主题

23

回帖

5

蝴蝶豆

中级会员

最后登录
2020-5-6
发表于 2017-12-20 20:26:15 | 显示全部楼层
效率上是可以提高不少,但是DMA毕竟还是占用总线的,DMA的使用最终会抢占一部分CPU执行指令的时间,因为CPU本质只有1个。不过这样确实可以提高CPU执行指令的效率,避免CPU在执行硬件相关指令的时候为了和硬件同步而等待
回复 支持 反对

使用道具 举报

1

主题

17

回帖

0

蝴蝶豆

初级会员

最后登录
2018-7-3
发表于 2018-1-17 16:32:36 | 显示全部楼层
GPIO翻转变快了,good!  但是怎么控制 IO 的频率呢?
另外如果是传输完成中断,关闭DMA,主函数再开启。你确定能,控制DMA??
最后,DMA一次确定输出数据个数是你设定的数量?
我是做不到哦。。。估计所有ST DEMO没有这个例程,有他的原因。
回复 支持 反对

使用道具 举报

0

主题

3

回帖

0

蝴蝶豆

初级会员

最后登录
2019-11-26
发表于 2018-3-7 10:55:57 | 显示全部楼层
小温点秋香 发表于 2018-1-17 16:32
GPIO翻转变快了,good!  但是怎么控制 IO 的频率呢?
另外如果是传输完成中断,关闭DMA,主函数再开启。你 ...

1,控制IO频率是通过控制定时器实现的
2,永远不用关闭DMA,也没有用到DMA中断.直接开启DMA循环模式,永远都不停
3,数据输出个数不太好控制,这个比较适合输出周期性固定波形.如果速度较低可考虑用中断控制一下
回复 支持 反对

使用道具 举报

1

主题

23

回帖

0

蝴蝶豆

中级会员

最后登录
2020-3-29
发表于 2018-11-8 16:26:48 | 显示全部楼层
很赞!!
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版