zwmasdf 发表于 2017-12-20 20:26:15

效率上是可以提高不少,但是DMA毕竟还是占用总线的,DMA的使用最终会抢占一部分CPU执行指令的时间,因为CPU本质只有1个。不过这样确实可以提高CPU执行指令的效率,避免CPU在执行硬件相关指令的时候为了和硬件同步而等待

小温点秋香 发表于 2018-1-17 16:32:36

GPIO翻转变快了,good!但是怎么控制 IO 的频率呢?
另外如果是传输完成中断,关闭DMA,主函数再开启。你确定能,控制DMA??
最后,DMA一次确定输出数据个数是你设定的数量?:'(
我是做不到哦。。。估计所有ST DEMO没有这个例程,有他的原因。:L

abswzp 发表于 2018-3-7 10:55:57

小温点秋香 发表于 2018-1-17 16:32
GPIO翻转变快了,good!但是怎么控制 IO 的频率呢?
另外如果是传输完成中断,关闭DMA,主函数再开启。你 ...

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

jorry 发表于 2018-11-8 16:26:48

很赞!!
页: 1 [2]
查看完整版本: 用DMA直接驱动GPIO,实现GPIO最高输出速率