stm32 - 如何调试定时器

标签 stm32

我在“外部源模式 1”下设置 TIM1 时遇到问题。我以编程方式写入 CH1,但无论我尝试什么设置,计时器都没有任何结果。有没有办法调试定时器,即检查每个阶段的值,例如 TI2FP1、IC1 和 IC1PS 的值。我在调试时找不到它们 编辑:如果您熟悉的话,这些不是普通配置寄存器的名称。我知道如何找到这些。

最佳答案

您引用的 IC1FIC1PS 配置位位于 TIM1 CCMR1 寄存器中。在 Truestudio 中 - 在调试视角的 SFR 选项卡中 - 展开 TIM1,然后展开 CCMR1_Input。看图片。 (该屏幕截图适用于 STM32F302RC,但我相信 TIM1 寄存器与 STM32F411RE 非常相似 - 即使不是几乎相同)。

enter image description here

另一方面,

TI2FP1 是一个信号 - 不是存储在微 Controller 存储器中的配置位。

如果您在计时器 ISR 中使用全局变量,请不要忘记将它们声明为 volatile 。否则,它们可能不会按照您的预期进行更新(至少在您启用优化后)。

关于stm32 - 如何调试定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56468910/

相关文章:

eclipse-cdt - 无法在STM32 AC6中构建项目

arm - 基于 ARM Cortex M3 的 MCU 的示例代码?

c - 如何在数组中使用 UART 接收未知长度数据并将其存储并接收下一组数据,而不删除第一个寄存器中的内容?

c - stm32f103板不闪烁

c - Truestudio atollic(基于 eclipse 的 IDE)创建空的二进制文件,尽管没有空的 elf 文件和大量代码

c - STM32F4 ADC DMA 配置不工作

discovery - stm32f0串口编程

c - 在STM32上用C产生纳秒延迟

microcontroller - 为什么人们不会只使用微 Controller 中的最大可用时钟

c - 将 A71CH 与 I2C 连接