我在“外部源模式 1”下设置 TIM1 时遇到问题。我以编程方式写入 CH1,但无论我尝试什么设置,计时器都没有任何结果。有没有办法调试定时器,即检查每个阶段的值,例如 TI2FP1、IC1 和 IC1PS 的值。我在调试时找不到它们 编辑:如果您熟悉的话,这些不是普通配置寄存器的名称。我知道如何找到这些。
最佳答案
您引用的 IC1F
和 IC1PS
配置位位于 TIM1 CCMR1
寄存器中。在 Truestudio 中 - 在调试视角的 SFR 选项卡中 - 展开 TIM1
,然后展开 CCMR1_Input
。看图片。 (该屏幕截图适用于 STM32F302RC,但我相信 TIM1 寄存器与 STM32F411RE 非常相似 - 即使不是几乎相同)。
TI2FP1
是一个信号 - 不是存储在微 Controller 存储器中的配置位。
如果您在计时器 ISR 中使用全局变量,请不要忘记将它们声明为 volatile
。否则,它们可能不会按照您的预期进行更新(至少在您启用优化后)。
关于stm32 - 如何调试定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56468910/