打印

STM8S外部中断问题请教

[复制链接]
6284|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kimi.wang|  楼主 | 2010-7-13 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在当前使用STM8S105进行调试时, 发现外部中断一个问题:
上电初始化设置该端口为“悬空输入, 无外部中断”,
到主循环中打开该外部中断(悬空输入,启动外部中断, 同时设置EXTI_CR1).

问题是: 我什么时候允许中断, 程序就什么时候进入中断,而且是连续两次(间隔约200uS), 以后就正常了。

请问哪位高手遇到过这种情况, 或者知道如何解决, 请指教。

另外,请问外部中断的滤波时间是多少(资料中没有提及)。
沙发
bili| | 2010-7-13 10:12 | 只看该作者
允许中断之前相应的中断标志已经置位,清除该标志位之后再允许中断

使用特权

评论回复
板凳
kimi.wang|  楼主 | 2010-7-13 12:37 | 只看该作者
谢谢楼上的答复。
但是STM8S的外部中断是没有中断请求标志的。

另外, 纠正一下,中断只是进入了一次, 而不是连续两次(看示波器看错了)。

这个问题已经解决。

原来程序为:
DisableAllIntp();
Init_Exti_PD_Intp();
EXTI_CR1 = ****(PD口双沿中断);
EnableAllIntp();

虽然外部中断没有中断请求标志, 但是我估计使能外部中断输入时刻,中断触发条件仍为默认数值(低电平、下降沿),从而影响了中断标志。

将中间两条语句换个位置就正常了。

使用特权

评论回复
地板
kimi.wang|  楼主 | 2010-7-13 12:38 | 只看该作者
此贴已结, 谢谢。

使用特权

评论回复
5
pkat| | 2010-7-13 15:01 | 只看该作者
中断标志位都是要通过软件清零的

使用特权

评论回复
6
cggcgg| | 2011-12-30 15:44 | 只看该作者
赞同              。

使用特权

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

本版积分规则

个人签名:拉风到抽风!

0

主题

43

帖子

1

粉丝