bluewolf 发表于 2024-3-27 20:14:27

STC15W408AS外部中断不触发

本帖最后由 bluewolf 于 2024-3-28 22:29 编辑

芯片:STC15W408AS

环境:Ubuntu+VSCode+PlantformIO
问题:P3.0引脚设置了高阻输入,通过一个按键拉低,但是外部中断函数一直不触发;但是用按键检测程序能够检测到低电平,万用表也显示低电平,有没有大神能帮忙分析一下,感激不尽{:5_300:}{:5_300:}{:5_300:}


问题解决了:在Windows+keil环境下中断可以正常触发。(2024.3.28)

21cnsound 发表于 2024-3-27 22:21:58

代码发上来看看

晓飛飛 发表于 2024-3-28 01:04:12

做按键功能,开关需要有上拉电阻,或者输入IO配置为准双向模式,否则按键未按下时,得不到可靠的高电平。

bluewolf 发表于 2024-3-28 10:10:15

晓飛飛 发表于 2024-3-28 01:04
做按键功能,开关需要有上拉电阻,或者输入IO配置为准双向模式,否则按键未按下时,得不到可靠的高电平。 ...

确实没有接上拉电阻,但是同样接法的P3.2引脚INT0却可以正常触发

bluewolf 发表于 2024-3-28 10:18:45

21cnsound 发表于 2024-3-27 22:21
代码发上来看看

大概是这样的

晓飛飛 发表于 2024-3-28 10:44:35

bluewolf 发表于 2024-3-28 10:10
确实没有接上拉电阻,但是同样接法的P3.2引脚INT0却可以正常触发

这种情况需要根据原理图和PCB来分析了,另外,能用和可靠是不同的,搞技术需要严谨,正常的按键电路除了上拉还要加消抖电容、ESD防护器件等,如果是业余玩的话,配置一下芯片内部的4KΩ强上拉就好了。

bluewolf 发表于 2024-3-28 11:23:37

晓飛飛 发表于 2024-3-28 10:44
这种情况需要根据原理图和PCB来分析了,另外,能用和可靠是不同的,搞技术需要严谨,正常的按键电路除了 ...

好的,感谢指导

一笔长空 发表于 2024-3-28 11:29:48

10k上拉

21cnsound 发表于 2024-3-28 11:30:55

中断服务函数中,增加如下代码,通过关闭INT4再打开INT4,手动清除INT4标志:
INT_CLKO   &=0xBF;               //关闭中断INT4,系统会自动清除INT4中断标志
INT_CLKO   |=   0x40;               //再打开中断即可

bluewolf 发表于 2024-3-28 11:36:01

21cnsound 发表于 2024-3-28 11:30
中断服务函数中,增加如下代码,通过关闭INT4再打开INT4,手动清除INT4标志:
INT_CLKO   &=0xBF;      ...

加了还是没有触发
页: [1] 2
查看完整版本: STC15W408AS外部中断不触发