打印
[STM8]

STM8的外部中断搞不明白

[复制链接]
1738|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一个简单的外部中断程序,真是奇怪了!当GPIO口一初始化,相关的中断标志位就立马置1了!请看图:





2.jpg (31.23 KB )

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 | 只看该作者
清楚一次就好。只要你没开总中断就没多大问题

使用特权

评论回复
5
ningling_21| | 2014-3-22 18:49 | 只看该作者
huhaomcu 发表于 2014-3-22 18:40
可问题是当我使能中断时,程序就立马进入了中断服务程序内!再者说初始化怎么会让中断标志位置1呢?这不科学 ...

说明初始化过程有不对的地方...

使用特权

评论回复
6
huhaomcu|  楼主 | 2014-3-23 10:44 | 只看该作者
ningling_21 发表于 2014-3-22 18:49
说明初始化过程有不对的地方...

初始过程有什么不对吗?就是用的ST提供的库函数呀!

使用特权

评论回复
7
desertsailor| | 2014-3-23 12:28 | 只看该作者
查找原函数,可能初始化设置为允许外部中断了

使用特权

评论回复
8
desertsailor| | 2014-3-23 12:31 | 只看该作者
从函数的调用就可以看出来,你把IO口设成了带上拉输入且可中断的模式,此时这个引脚电平如果符合中断条件,毫无疑问会触发中断。这个跟人家库函数没关系,是你调用错了,你若不想中断就不要把IO口设为这个模式。

使用特权

评论回复
9
huhaomcu|  楼主 | 2014-3-23 14:59 | 只看该作者
desertsailor 发表于 2014-3-23 12:31
从函数的调用就可以看出来,你把IO口设成了带上拉输入且可中断的模式,此时这个引脚电平如果符合中断条件, ...

可我的目的就是想使用这个I/O口来作外部中断源的呀!那只要在使能中断前重新清除下所有中断标志了!!

使用特权

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

那就是外部引脚电平的问题了,没有达到相应的电平或跳变是不可能触发的,看了你另外一个贴子,可能是两个引脚短路了或者通过其它方式连接在一起了,你查一下硬件吧

使用特权

评论回复
11
huhaomcu|  楼主 | 2014-3-23 17:52 | 只看该作者
desertsailor 发表于 2014-3-23 15:55
那就是外部引脚电平的问题了,没有达到相应的电平或跳变是不可能触发的,看了你另外一个贴子,可能是两个 ...

谢谢您的多次回答!我也觉得像是硬件存在问题!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

508

帖子

3

粉丝