打印
[STM8]

外部中断进一会然后就不进了?什么情况???

[复制链接]
1812|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mage心寒|  楼主 | 2014-5-20 14:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RT,最近在用STM8S105C6,红外用外部中断,每次复位红外用大概一百次左右就不进中断了,不知道什么情况,有遇到过的吗,PS STM8S没有外部中断清标志位。。
沙发
mage心寒|  楼主 | 2014-5-20 14:48 | 只看该作者
测试发现过一会又好了,然后用一会又不行了。。

使用特权

评论回复
板凳
mmuuss586| | 2014-5-20 17:11 | 只看该作者

没有,再焊一套测试下看看;
或者接个按键做下试验;

使用特权

评论回复
地板
snailled| | 2014-5-20 18:40 | 只看该作者
刚学习到 按键扫描 ,还帮不到你。

使用特权

评论回复
5
icecut| | 2014-5-20 20:22 | 只看该作者
用中断捕捉红外的上升沿?是不是太快啊

使用特权

评论回复
6
mage心寒|  楼主 | 2014-5-21 09:17 | 只看该作者
icecut 发表于 2014-5-20 20:22
用中断捕捉红外的上升沿?是不是太快啊

这个能捕到,如果就直接捕获,我觉得用IO口都可以。。

使用特权

评论回复
7
icecut| | 2014-5-21 09:22 | 只看该作者
你考虑过cpu利用率吗?还是你这芯片只做这一件事/?
我怎么觉得不太靠谱呢

使用特权

评论回复
8
mage心寒|  楼主 | 2014-5-21 13:10 | 只看该作者
icecut 发表于 2014-5-21 09:22
你考虑过cpu利用率吗?还是你这芯片只做这一件事/?
我怎么觉得不太靠谱呢

我的意思是只坐一件事情,io直接读取是可以的,现在当然不是干一件事情所以用中断。。。所以才会有不会进中断的情况发生。。。好像有用过8S的有过这个现象。。

使用特权

评论回复
9
icecut| | 2014-5-21 13:26 | 只看该作者
mage心寒 发表于 2014-5-21 13:10
我的意思是只坐一件事情,io直接读取是可以的,现在当然不是干一件事情所以用中断。。。所以才会有不会进 ...

中断频率多高?你确定不是小马拉大车?
压死骆驼的都是最后一根稻草.

使用特权

评论回复
10
mage心寒|  楼主 | 2014-5-21 15:41 | 只看该作者
icecut 发表于 2014-5-21 13:26
中断频率多高?你确定不是小马拉大车?
压死骆驼的都是最后一根稻草.

中断0.1ms,合理范围内,红外用的不是定时器捕获中断,用的是外部中断,这绝对是大牛拉小牛,肯定没问题,我可以确定这点,问题的重点不是不工作,是工作一会NG了。。NG中while(1)里面还是正常运行只是红外不触发外部中断,这点我做过实验。

使用特权

评论回复
11
icecut| | 2014-5-21 16:03 | 只看该作者
本帖最后由 icecut 于 2014-5-21 16:06 编辑
mage心寒 发表于 2014-5-21 15:41
中断0.1ms,合理范围内,红外用的不是定时器捕获中断,用的是外部中断,这绝对是大牛拉小牛,肯定没问题 ...

ng的时候,各个寄存器值都正常?
能不能读取到引脚状态呢?
你引脚电平没有过冲之类的?

使用特权

评论回复
12
mage心寒|  楼主 | 2014-5-21 16:32 | 只看该作者
icecut 发表于 2014-5-21 16:03
ng的时候,各个寄存器值都正常?
能不能读取到引脚状态呢?
你引脚电平没有过冲之类的? ...

各个寄存器不是很清楚,但是其它工作正常,示波器显示IO口的引脚电平也是正常的,可以接收到IR的电平信号。。

使用特权

评论回复
13
icecut| | 2014-5-21 22:27 | 只看该作者
mage心寒 发表于 2014-5-21 16:32
各个寄存器不是很清楚,但是其它工作正常,示波器显示IO口的引脚电平也是正常的,可以接收到IR的电平信号 ...

一般检查中断的相关寄存器,没有中断屏蔽中断clear之类的东西?

使用特权

评论回复
14
mage心寒|  楼主 | 2014-5-22 08:28 | 只看该作者
icecut 发表于 2014-5-21 22:27
一般检查中断的相关寄存器,没有中断屏蔽中断clear之类的东西?

stm8s没有看到清中断标志。。

使用特权

评论回复
15
heelary| | 2014-5-22 12:56 | 只看该作者
中断嵌套出错,某个中断未退出或退出未开中断。看门狗用了?

使用特权

评论回复
16
mage心寒|  楼主 | 2014-5-22 15:20 | 只看该作者
heelary 发表于 2014-5-22 12:56
中断嵌套出错,某个中断未退出或退出未开中断。看门狗用了?

没用狗,中断未退出?可以排除,因为主程序还在运行,退出未开中断,这个不是开一次就ok的吗?需要退出再开?

使用特权

评论回复
17
heelary| | 2014-5-23 09:27 | 只看该作者
执行某些中断时会关中断的。你的现象有点中断被关掉的样子。

使用特权

评论回复
18
mage心寒|  楼主 | 2014-5-23 09:36 | 只看该作者
heelary 发表于 2014-5-23 09:27
执行某些中断时会关中断的。你的现象有点中断被关掉的样子。

谢谢,感觉是外部中断和timer4的中断不知道哪里弄乱了,实验外部中断是进了,定时器计数不符合nec起始信号的时间,也不知道是不是外部中断没有捕获好的原因,我现在一般按键连续按100次左右里面会有NG的现象5次,然后会好,但是有些时候NG的时间会按键十次都没有反应。。我无语了。。

使用特权

评论回复
19
heelary| | 2014-5-23 10:55 | 只看该作者
中断嵌套可能有问题,关掉其它中断,一个一个试试吧。

使用特权

评论回复
20
mage心寒|  楼主 | 2014-5-23 13:12 | 只看该作者
heelary 发表于 2014-5-23 10:55
中断嵌套可能有问题,关掉其它中断,一个一个试试吧。

解决了,谢谢。。。逻辑多走了一步,范了低级错误哎。。

使用特权

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

本版积分规则

19

主题

1019

帖子

13

粉丝