gpt4 book ai didi

c - STM32 - TIM2_ETR 引脚,连接到引脚 PA0(按钮),以奇怪的方式递增定时器

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:22 25 4
gpt4 key购买 nike

我正在尝试分 6 个阶段实现 PWM LED 调光,其中每个阶段都更亮,基于单击按钮,这会增加外部引脚,为定时器提供值。

我面临一个问题,有时 value 变量比应有的值太大,会跳过某些级别的亮度。例如,value 递增:1,2,3,然后跳到 6,7,等等。

任何人都可以指出我在哪里犯了错误。这是代码:

//编辑:删除代码,因为这是一项学校作业

最佳答案

这看起来像接触弹跳。当 CPU 处理输入时,一个简单的解决方法是在检测到事件后将输入禁用一段时间。由于您直接通过按钮控制定时器输入,因此您可能没有太多控制权。但是,我会尝试使用 SMCR 寄存器的 ETF 字段(在您的情况下可能由 sClockSourceConfig.ClockFilter 字段设置)和 CR1 寄存器的时钟除数 CKD(在您的代码中看起来像 htim2.Init.ClockDivision) (抱歉,我对 STM 库不熟悉)。

关于c - STM32 - TIM2_ETR 引脚,连接到引脚 PA0(按钮),以奇怪的方式递增定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46900874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com