首页 > 解决方案 > 为什么在 PWM 模式下清除 TIM1->BDTR 中的 MOE 会停止为 STM32F401 触发 ADC1 IN STM32 Nulceo-64?

问题描述

在实验过程中,我遇到了一个问题,我希望这里有人可能知道解决方案。

我在 PWM 模式下使用 TIMER1,它应该在后台连续运行。由于在 STM32F401 中无法使用 Timer1 更新事件触发 ADC,因此我使用了以下设置。

TIM1:触发事件选择_输出比较(OC1REF) ADC1:外部触发转换源_定时器 1 捕捉比较 1 事件

在通过 ADC1 检测到特定值时,我需要禁用主输出(我不想禁用定时器)所以我清除了 BDTR 寄存器中的 MOE 位。

但禁用 MOE 位实际上会停止 ADC 触发。

当仅禁用主输出且定时器仍在运行时,ADC 未获得正确触发可能是什么问题?

如果这不是正确的方法,那么单独关闭输出的正确方法是什么?

标签: stm32f4stm32cubeide

解决方案


推荐阅读