STM32
直播中

吴湛

9年用户 823经验值
擅长:可编程逻辑
私信 关注
[问答]

stm32比较器输出到timer_etr没有计数是为什么?

请教有人搞过STM32L比较器输出内部配到到timer_etr的计数吗。比较器的比较输出已经搞通,比较中断都有,配置为外部输出也有;timer配置已经启动,时钟已经打开,timer中的renmap已经定位到comp1输出。就是没有计数。采用的软件生成的HAL库感谢了

回帖(1)

手托初梦

昨天 18:01
根据您的描述,您已经完成了以下步骤:

1. 比较器的比较输出已经搞通,比较中断都有。
2. 配置为外部输出也有。
3. Timer配置已经启动,时钟已经打开。
4. Timer中的renmap已经定位到COMP1输出。

但是,您发现计数没有增加。为了解决这个问题,我们可以按照以下步骤进行排查:

步骤1:检查比较器输出
确保比较器的输出确实在预期的条件下发生变化。您可以使用示波器或逻辑分析仪来观察比较器输出的波形。

步骤2:检查定时器输入
确保定时器的外部触发输入(ETR)正确地接收到了比较器的输出信号。您可以使用示波器或逻辑分析仪来观察ETR的输入波形。

步骤3:检查定时器配置
确保定时器的配置正确,包括计数模式、时钟源、预分频器等。请检查HAL库中的相关配置代码,确保它们与您的硬件设置相匹配。

步骤4:检查定时器中断
如果定时器配置了中断,确保中断服务例程(ISR)正确地处理了计数事件。在ISR中,您可以使用__HAL_TIM_SET_COUNTER()函数来清除计数器,以便重新开始计数。

步骤5:检查HAL库版本
确保您使用的HAL库版本与您的STM32L系列和固件库版本相匹配。不同版本的HAL库可能有不同的API和配置方法。

步骤6:参考官方示例
查看STM32官方提供的示例代码,了解如何正确地配置比较器输出到定时器ETR。这可以帮助您发现可能遗漏的配置步骤。

通过以上步骤,您应该能够找到导致计数不增加的原因。如果问题仍然存在,请提供更多的代码和配置信息,以便进一步分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分