概述
主控用了STM32F103RBT6,用霍尔触发外部中断。
问题:板子通电,在没有触发霍尔传感器的情况下,程序会一直进入外部中断。拔掉霍尔传感器后,程序便不进入中断。
原因分析:插上霍尔传感器就会触发中断;拔下之后便不会触发中断,不适用直接拉低引脚触发可以进中端。说明程序没有问题,是霍尔传感器有问题,或者是霍尔传感器的外围电路有问题。
解决办法:经过查找资料当外部中断设置为下降沿触发时(我的程序设置为下降沿触发中断),单片机中断会特别灵敏或者是不稳定,这是STM32有的Bug吧。然后查找霍尔的数据手册,发现我少了一个电容,没有电容的滤波,会被影响而触发中断。加上滤波电容后便可以滤掉杂波,使信号稳定,这样单片机便不会无缘无故的进中断了。
这是有问题的电路
然后修改了霍尔的外部电路
程序便不会无缘无故的进入中断了,真是血的教训,检查了好几天愣是没有查出来。教训:遇到问题先查数据手册。
.如果外部电路没有问题,将中断的消抖可以增加,这样也可以起到作用。
最后
以上就是超级红牛为你收集整理的基于STM32和外部中断控制的霍尔传感器频繁进中断的问题的全部内容,希望文章能够帮你解决基于STM32和外部中断控制的霍尔传感器频繁进中断的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复