首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

IRQ中断及调试问题[求助]

IRQ中断及调试问题[求助]

大家好:


   我用的是MC9S08AW32芯片,我需要用到IRQ 中断, 所以设置为上升沿触发, 产生中断。


用来中断的信号是220V电源波型,  改为矩形波。 


     但是加入IRQ的中断以后, 我在调试中, 单步运行,有时就多次反复 进入IRQ中断。


    我想问:为什么上升沿触发中断, 要进入那么多次的IRQ 中断, 这很影响我用单步运行调试。


  


  初始化程序:                                       // IRQSC: IRQIE=0
 IRQSC &= (unsigned char)~0x03;     // Disable IRQ Interrupt ,

                                      //IRQMOD=0,IRQ event of rising edges only
                                     // IRQSC: IRQPE=1,IRQMOD=0 
 IRQSC |= (unsigned char)0x30;      // raising trigger                              


 IRQSC |= (unsigned char)0x04;                              
                                     // IRQSC: IRQIE=1 
  IRQSC |= (unsigned char)0x02;      // Enable interrupts


中断程序:


interrupt void IRQ(void)
 {
  
    asm SEI;
 
    IRQSC_IRQACK = 1;    //clear intrupt 
    
    OutPut.flag_irq = 1;//这只是我程序中的一个标志位
                        
    asm CLI;
   
  }


请大家帮帮忙 , 谢谢。
   

[此贴子已经被作者于2006-9-13 14:10:05编辑过]

1.在中断程序里无需关、开中断,CPU已经自动这么做了。
2.对IRQ信号进行滤波处理。
海纳百川  有容乃大

谢谢!
顺带问一下,CW中有没有判读IRQ引脚电平的宏?
还是只能嵌入汇编?
谢谢

 边凿磨边用
 
 经验同分享
有。请看CW08 5.1安装目录下的《Compiler_HC08.pdf》文档的第413页。
海纳百川  有容乃大
还需要什么设置或者是加入什么文件才能使用哪些函数或宏?
直接使用好像不能识别

 边凿磨边用
 
 经验同分享
如果是用引导生成的 C project,应该是可以直接使用的。
海纳百川  有容乃大
帮助中倒确实没有说要做什么设置或加入什么文件
我也是再向导生成的project里(HC908KL3),使用__isflag_int(),编译时提示未定义
C1801: Implicit parameter-declaration for ‘__isflag_int()’

 边凿磨边用
 
 经验同分享
参考这个帖子:

http://bbs.chinaecnet.com/dispbbs.asp?boardID=3&RootID=50536&ID=50536
海纳百川  有容乃大
返回列表