单页营销式网站模板下载,老外做的中国方言网站,做婚庆的网站有哪些,四库一平台查询系统今天在写外部中断的程序的时候#xff0c;发现中断特别容易受到干扰#xff0c;我把手放在对应的中断引脚上#xff0c;中断就一直触发#xff0c;没有停过。经过一天的学习#xff0c;找到了几个解决方法#xff0c;所以写了这篇笔记。如果你的中断也时不时会误触发发现中断特别容易受到干扰我把手放在对应的中断引脚上中断就一直触发没有停过。经过一天的学习找到了几个解决方法所以写了这篇笔记。如果你的中断也时不时会误触发可以对照找一下原因。 1上下拉 中断的外围电路该上拉的就上拉该下拉就下拉如下图 图中的BAT6_#CHRG和BAT6_#DONE是连接到MCU的2个中断引脚其中R183已经是上拉3.3V了D63和D64用于指示并没有任何作用。除了上图的上拉还需要一个对地的电容下拉接到GND这样就可以让信号没有毛刺。 2中断延迟检测 在触发中断之后延迟一段时间然后去处理。个人认为不好中断的好处就是实时性和优先级现在在中断里面加Delay函数不是和中断的初衷相悖吗 3清除中断标志位或者开关中断源 网上有部分人也说清除中断或者开关中断源这样就可以释放中断把中断“赶”出去等下次中断再让它“进”来但是STM32的Cortex-M内核有一个问题中断标志位清除之后并不是马上清除而是要等一会这就导致清除标志位的方法不太可行只能去开关中断源了。 4施密特滞留器 这是网上上比较靠谱的一种方法将施密特接到中断之后MCU之前保证进入中断的信号都是经过“滞留”的。施密特触发器分为两种类型即反相施密特触发器和同相施密特触发器。反相施密特触发器可以定义为一个输出元件连接到运算放大器的正端。类似地同相施密特触发器可以定义为输入信号在运算放大器的负端给出。 下图是反向施密特触发器的输入和输出的电压波形关系其中输入也不一定是正弦函数有可能是三角波甚至是方波反正输出的电压是通过阈值来判断的。 使用NE555的施密特触发器电路图如下所示下面的电路可以用基本的电子元件组成但NE555是这个电路中必不可少的元件。NE555的两个引脚(例如引脚4和引脚8)都与VCC电源相连。两脚(如引脚2和引脚6)短接通过电容将输入相提供给这些脚。 在上图中电阻R1和R2形成的分压器提供外部偏置电压(VCC/2) 阈值为1/3VCC和2/3VCC。 往期回顾 有源晶振和无源晶振的区别 读取STM32芯片温度与当前供电电压 C语言求数组长度的5种方法 寄存器HAL和LL的区别