打印

如何用DMA控制+定时器输出PWM波?

[复制链接]
2376|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
scxjun|  楼主 | 2012-1-17 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用定时器输出PWM波,但一个定时器只能输出4路可调PWM波,想输出多点都不行,最后想用51的方法输出PWM,就加快了定时器的中断速度(2000HZ),但这样的结果是我的I2C又不能工作了,最后想用DMA的方法来处理中断,现在不知道定时器中断后DMA中如果实现变量加1和比较?

相关帖子

沙发
scxjun|  楼主 | 2012-1-30 14:38 | 只看该作者
怎么没人知道呀

使用特权

评论回复
板凳
laserpic| | 2012-2-24 00:14 | 只看该作者
分别用几个DMA来输出. 每个通道对应输出一种PWM. 用一个定时器,四通道DMA就可以了.
DMA中可以实现计数增减.

使用特权

评论回复
地板
laserpic| | 2012-2-24 00:19 | 只看该作者
我现在也在这方面遇到一个问题.
比如说,四路PWM一定要按次序来的. 用DMA要保证齐头并进,不知怎么实现.
我现在用四个通道DMA各自控制四路PWM时,运行时间长了之后,有些跑些跑得快,有些跑得慢.
不知有没有什么同步机制.

使用特权

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

本版积分规则

0

主题

18

帖子

1

粉丝