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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版