[STM8] STM8的外部中断搞不明白

[复制链接]
2161|10
 楼主| huhaomcu 发表于 2014-3-22 16:54 | 显示全部楼层 |阅读模式
一个简单的外部中断程序,真是奇怪了!当GPIO口一初始化,相关的中断标志位就立马置1了!请看图:
1.jpg




2.jpg
ningling_21 发表于 2014-3-22 17:14 | 显示全部楼层
虽然中断标志置位1,但只要没开总中断开关也不会引起什么...

所有初始化结束时应该清除此中断标志...
 楼主| huhaomcu 发表于 2014-3-22 18:40 | 显示全部楼层
ningling_21 发表于 2014-3-22 17:14
虽然中断标志置位1,但只要没开总中断开关也不会引起什么...

所有初始化结束时应该清除此中断标志... ...

可问题是当我使能中断时,程序就立马进入了中断服务程序内!再者说初始化怎么会让中断标志位置1呢?这不科学呀!
kctime 发表于 2014-3-22 18:41 | 显示全部楼层
清楚一次就好。只要你没开总中断就没多大问题
ningling_21 发表于 2014-3-22 18:49 | 显示全部楼层
huhaomcu 发表于 2014-3-22 18:40
可问题是当我使能中断时,程序就立马进入了中断服务程序内!再者说初始化怎么会让中断标志位置1呢?这不科学 ...

说明初始化过程有不对的地方...
 楼主| huhaomcu 发表于 2014-3-23 10:44 | 显示全部楼层
ningling_21 发表于 2014-3-22 18:49
说明初始化过程有不对的地方...

初始过程有什么不对吗?就是用的ST提供的库函数呀!
desertsailor 发表于 2014-3-23 12:28 | 显示全部楼层
查找原函数,可能初始化设置为允许外部中断了
desertsailor 发表于 2014-3-23 12:31 | 显示全部楼层
从函数的调用就可以看出来,你把IO口设成了带上拉输入且可中断的模式,此时这个引脚电平如果符合中断条件,毫无疑问会触发中断。这个跟人家库函数没关系,是你调用错了,你若不想中断就不要把IO口设为这个模式。
 楼主| huhaomcu 发表于 2014-3-23 14:59 | 显示全部楼层
desertsailor 发表于 2014-3-23 12:31
从函数的调用就可以看出来,你把IO口设成了带上拉输入且可中断的模式,此时这个引脚电平如果符合中断条件, ...

可我的目的就是想使用这个I/O口来作外部中断源的呀!那只要在使能中断前重新清除下所有中断标志了!!
desertsailor 发表于 2014-3-23 15:55 | 显示全部楼层
huhaomcu 发表于 2014-3-23 14:59
可我的目的就是想使用这个I/O口来作外部中断源的呀!那只要在使能中断前重新清除下所有中断标志了!! ...

那就是外部引脚电平的问题了,没有达到相应的电平或跳变是不可能触发的,看了你另外一个贴子,可能是两个引脚短路了或者通过其它方式连接在一起了,你查一下硬件吧
 楼主| huhaomcu 发表于 2014-3-23 17:52 | 显示全部楼层
desertsailor 发表于 2014-3-23 15:55
那就是外部引脚电平的问题了,没有达到相应的电平或跳变是不可能触发的,看了你另外一个贴子,可能是两个 ...

谢谢您的多次回答!我也觉得像是硬件存在问题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

509

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部