STC15W408AS外部中断不触发
本帖最后由 bluewolf 于 2024-3-28 22:29 编辑芯片:STC15W408AS
环境:Ubuntu+VSCode+PlantformIO
问题:P3.0引脚设置了高阻输入,通过一个按键拉低,但是外部中断函数一直不触发;但是用按键检测程序能够检测到低电平,万用表也显示低电平,有没有大神能帮忙分析一下,感激不尽{:5_300:}{:5_300:}{:5_300:}
问题解决了:在Windows+keil环境下中断可以正常触发。(2024.3.28)
代码发上来看看 做按键功能,开关需要有上拉电阻,或者输入IO配置为准双向模式,否则按键未按下时,得不到可靠的高电平。 晓飛飛 发表于 2024-3-28 01:04
做按键功能,开关需要有上拉电阻,或者输入IO配置为准双向模式,否则按键未按下时,得不到可靠的高电平。 ...
确实没有接上拉电阻,但是同样接法的P3.2引脚INT0却可以正常触发 21cnsound 发表于 2024-3-27 22:21
代码发上来看看
大概是这样的 bluewolf 发表于 2024-3-28 10:10
确实没有接上拉电阻,但是同样接法的P3.2引脚INT0却可以正常触发
这种情况需要根据原理图和PCB来分析了,另外,能用和可靠是不同的,搞技术需要严谨,正常的按键电路除了上拉还要加消抖电容、ESD防护器件等,如果是业余玩的话,配置一下芯片内部的4KΩ强上拉就好了。 晓飛飛 发表于 2024-3-28 10:44
这种情况需要根据原理图和PCB来分析了,另外,能用和可靠是不同的,搞技术需要严谨,正常的按键电路除了 ...
好的,感谢指导 10k上拉 中断服务函数中,增加如下代码,通过关闭INT4再打开INT4,手动清除INT4标志:
INT_CLKO &=0xBF; //关闭中断INT4,系统会自动清除INT4中断标志
INT_CLKO |= 0x40; //再打开中断即可 21cnsound 发表于 2024-3-28 11:30
中断服务函数中,增加如下代码,通过关闭INT4再打开INT4,手动清除INT4标志:
INT_CLKO &=0xBF; ...
加了还是没有触发
页:
[1]
2