首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么STM32上的计时器中断输入每次都不工作?

为什么STM32上的计时器中断输入每次都不工作?
EN

Stack Overflow用户
提问于 2016-12-22 20:20:36
回答 1查看 1.6K关注 0票数 0

我正在做一个使用STM32F030C6的无刷直流电机控制项目,我被我在限流电路中发现的一个bug搞糊涂了。

我在逐个周期地施加电流限制。在外部,我有一个(足够快的)运算放大器,测量组合三相的接地路径中的电流。还有一个高速比较器,可以将放大后的值与设定值进行比较。该比较器的输出被馈送到PB12上的TIM1_BKIN输入。当电流上升过高时,比较器翻转,STM32关闭脉宽调制。

正常情况下,这可以很好地工作(请参阅范围图像中的第一个周期)。比较器输出(CH2)变低,被测电流(CH1)立即开始下降。

顺便说一句,你可以看到H桥开关,因为信号耦合到我的探头,导致尖峰。

第二次-在实践中这种情况发生了很多次-中断输入似乎对下降沿没有反应,因为电流保持上升,并在4.6us之后关闭。

为了消除软件禁用BRK输入的可能性,我激活了TIM1_BDTR寄存器上的锁定级别1。执行此操作的代码是使用STM32CubeMX 4.14.0生成的。

我不明白为什么会发生这种情况,因为BRK输入异步工作,甚至不需要中断。对更多信息有什么想法或要求吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-23 23:14:07

我不知道为什么break输入总是不能正常工作。

相反,我修改了我的硬件,使用ETR (外部触发器)输入而不是break输入,并清除了这一点。这个可以完美地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41283069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档