• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

怎样用DMA方式控制PWM脉冲个数?

大虫子1 2018-07-11 浏览量:2759
用STM32F103的PWM引脚控制步进电机,要控制脉冲个数,还有加减速,我另外开了个定时器来更新PWM的频率来实现加减速,但怎样具体控制脉冲个数呢?最好用DMA的方式因为其余定时器我基本都用完了!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 因为前段时间也用到类似的功能,网上查过一些方案,目前了解到的,都需要额外的定时器去计脉冲数,单靠dma加一个定时器是做不到的。另外,如果有高手有方案,欢迎跟帖交流

    另外,https://mp.weixin.qq.com/s/9fosWValxj7vbhHHbruWDQ

    这个帖子算是干货了,可以参考。

    • 发布于 2018-07-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • DMA是数据搬移的一个功能,没办法进行PWM的控制,你要使用定时器
    • 发布于2018-07-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果控制PWM个数,要么用定时器,要么就软件模拟PWM,调节循环周期个数。
    • 发布于2018-07-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以使用定时器的捕获功能啊,采样到几个脉冲就是几个PWM信号
    • 发布于2018-07-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以再把PWM接回芯片内,做个中断测量一个脉冲个数的
    • 发布于2018-07-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 外面加个模块就可以了,直接一般不能搞
    • 发布于2018-07-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以将pwm信号通过另一引脚接入mcu,在pwm工作时对其脉冲计数。这样就可以精确控制PWM输出的脉冲个数了。
    • 发布于2018-07-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 在DMA里面改变你的PWM控制寄存器就可以改变PWM个数
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 0
    • 0

  • pwm不需要dma来改的,楼主应该腾出一个定时器来用作pwm波形的产生。
    • 发布于2018-07-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

怎样用DMA方式控制PWM脉冲个数?