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

关于stm32的高级TIME1定时器和通用TIME3定时器

13783538174 2018-04-29 浏览量:1121
TIME3定时器产生中断用于处理事件,用TIME1定时器产生PWM输出,为什么TIME3中断能正常进行,而TIME1不能正常输出了呢?把TIME3的中断去掉TIME1就能正常输出PWM了,这两个之间有什么相互影响吗?求解
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果在复用的引脚上没有冲突,那么应该是不会相互影响的。

    你要再查一下代码,是不是定时器3的中断,错误的操作了定时器1的相关寄存器

其他答案 数量:6
  • 理论上引脚配置正确的话都可以单独使用的,感觉还是配置和程序的问题,建议再好好检查一下程序
    • 发布于2018-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先看看你配置的TIM3的中断优先级是不是比TIM1的运行优先级高,如果是的话TIM3的中断就会抢占TIM1的输出,然后就是看看堆栈的问题,是不是TIM3占用了TIM1所需的堆栈导致无法输出。

    • 发布于2018-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有影响,看你那里的配置有问题,而且定时器1是高级定时器,有几个选项是必须要配置的,不然的话会是个随机值,不像普通定时器可以不用管
    • 发布于2018-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要看一下你的PWM是靠中断产生的还是靠DMA产生的,如果靠中断产生的,就会涉及到优先级的问题
    • 发布于2018-05-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于stm32的高级TIME1定时器和通用TIME3定时器