[STM8] STM8 总中断问题

[复制链接]
8256|13
 楼主| RyanHsuing 发表于 2010-9-14 10:41 | 显示全部楼层 |阅读模式
本帖最后由 RyanHsuing 于 2010-9-14 11:07 编辑

小弟使用的是STM8S208RB芯片。在使用过程中,STM8 总中断关断后,但仍进入TIMER 1捕捉中断,TIMER4计时中断(另的中断不知道)。
出现的概率不是很高,出现后就连续出现。

大家有没有出现过这种状况?
请教二姨家的大神,有东东会引起这种状况呢?又该怎么解决?
香水城 发表于 2010-9-14 10:56 | 显示全部楼层
怎么关断总中断的?

关断总中断后多长时间又有中断?
 楼主| RyanHsuing 发表于 2010-9-14 11:02 | 显示全部楼层
IAR的编译器
sim();函数关中断, rim();开中断
中间的时间有30-50MS,若未关断成功则中间时间会被拉长20%
香水城 发表于 2010-9-14 11:06 | 显示全部楼层
不敢相信你说的事情,这是不可能的!

请检查CC寄存器的I0和I1标志位。
 楼主| RyanHsuing 发表于 2010-9-14 11:18 | 显示全部楼层
本帖最后由 RyanHsuing 于 2010-9-14 11:22 编辑

4# 香水城




关中断后我执行 发码动作约30-50MS(时间与码的长度有关);
若关全局中断没有成功,则发码动作中发生中断   拉长发码时间 ,拉长了20%的时间


CC 寄存器看看什么 ?
位5,3
I[1:0] :软件中断优先级位 这两位表明当前中断请求的优先级。当一个中断请求发生时,相应的中断向量 的软件优先级自动从(ITC_SPRx) 载入I[1:0]。 I[1:0] 可以通过RIM,SIM,HALT,WFI,IRET 或者PUSH/POP等指令来软件置位和清零。(参见图20)

I1
I0
优先级
级别

1
0
0级(主程序)
低 ↓ 高

0
1
级别1

0
0
级别2

1
1
3级(=禁用软件优先级)



CC寄存器的另几位是什么含义???  
看这个TI TO有什么意义,我的TIMER1捕捉中断是最高优先级!




火箭球迷 发表于 2010-9-14 18:11 | 显示全部楼层
的确有点不可思议
香水城 发表于 2010-9-14 18:18 | 显示全部楼层
5楼看的是什么资料?
dfsa 发表于 2010-9-14 21:16 | 显示全部楼层
没看懂5楼给的资料
 楼主| RyanHsuing 发表于 2010-9-15 09:49 | 显示全部楼层
本帖最后由 RyanHsuing 于 2010-9-15 09:55 编辑

...
5L
STM8S技术参考手册V4   中关于CC Register 描述
问一下香水城 你要我看CC Register,看它做什么?
它跟中断有什么关系???
有没有可能是设置可能让SIM()失效,或者有可能  普通外设中断设置成不可屏蔽的中断
香水城 发表于 2010-9-15 14:58 | 显示全部楼层
1)关于CC Register 描述就已经介绍了CC寄存器的另几位是什么含义。
2)如果I1=1同时I0=1则表示全局中断已被关闭,察看这2位就可以知道目前全局中断的状况。
liaoxianghan 发表于 2015-10-26 16:02 | 显示全部楼层
香水城 发表于 2010-9-14 10:56
怎么关断总中断的?

关断总中断后多长时间又有中断?

有类似情况
liaoxianghan 发表于 2015-10-26 16:03 | 显示全部楼层
香水城 发表于 2010-9-14 10:56
怎么关断总中断的?

关断总中断后多长时间又有中断?

有类似情况:L
yehen乾 发表于 2016-1-7 14:47 | 显示全部楼层
RyanHsuing 发表于 2010-9-14 11:02
IAR的编译器
sim();函数关中断, rim();开中断
中间的时间有30-50MS,若未关断成功则中间时间会被拉长20% ...

求rim();子程序详细
xhdzwzj 发表于 2016-1-8 00:47 | 显示全部楼层
把TIMER1,TIMER4中断一起关闭,清除标志位再试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

219

帖子

1

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