9S12C IRQ下降沿中断的问题

[复制链接]
3716|10
 楼主| myrokey 发表于 2009-2-26 08:26 | 显示全部楼层 |阅读模式
9S12C96&nbsp;IRQ下降沿中断仿真运行与实际运行的差别:<br />在P&E&nbsp;USB&nbsp;MULTILINK仿真的情况下中断正常.不用仿真器实际运行,只要下降沿到来,就一直中断.&nbsp;怎么感觉有点像低电平中断.(IRQCTR_IRQE&nbsp;=&nbsp;1;设为下将沿中断).<br />郁闷....仿真正常实际运行竟然不正常.<br />请给位指点.
张明峰 发表于 2009-2-26 15:04 | 显示全部楼层

显然

清除中断标志时做得不到位.
 楼主| myrokey 发表于 2009-2-27 13:41 | 显示全部楼层

据我了解,对于IRQ中断来说,本身并没有中断标志位.

另一方面,现在的问题的仿真运行与实际运行怎么会呈现不同的效果.
johnwjl 发表于 2009-2-27 17:08 | 显示全部楼层

有中断标志位

而且一定要清,否则一直中断。
 楼主| myrokey 发表于 2009-3-2 08:57 | 显示全部楼层

johnwjl,能告诉我是哪个寄存器吗

DATASHEET根本找不到有IRQ中断标志位....
johnwjl 发表于 2009-3-2 10:17 | 显示全部楼层

你找一下IRQACK位

中断后,IRQACK置1即可。&nbsp;
 楼主| myrokey 发表于 2009-3-2 11:31 | 显示全部楼层

9S12C DATASHEET没有IRQACK位的.

codewarrior生成的工程中特殊寄存器的定义IO_map,也没有IRQACK位的定义.<br />你指的是哪一系列的单片机?
johnwjl 发表于 2009-3-3 22:05 | 显示全部楼层

JM

JM系列的。
张明峰 发表于 2009-3-6 18:10 | 显示全部楼层

抽空看了一下9S12的数据手册

确实如楼主所言,9S12的IRQ是没有对应的中断标志的。该中断只能为边沿触发,一旦相应了中断服务程序,中断请求标志将被自动清除。故不存在我先前说的“清除中断标志时做得不到位”之说。特向楼主致歉。<br />这样看来应该是其他原因所造成的。按此IRQ的特性,唯一可能就是输入信号边沿有抖动,程序全速运行时连续响应多次中断。
johnwjl 发表于 2009-3-6 20:39 | 显示全部楼层

我也致歉。

因为没看过9S12的手册,一直在用JM系列。<br />LZ可以在IRQ加一电容拉地看看。
 楼主| myrokey 发表于 2009-3-26 09:14 | 显示全部楼层

谢谢各位的回答.

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

17

帖子

0

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