我现在用的是清华大学MC68HC908GP32开发板,我现在想做的是用IRQ中断 #include /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ void main(void) { CONFIG1_COPD=1; DDRA = 0xFF; //PortA设置为输出 //PortD输出都为低电平 与中断无关仅为指示作用 INTSCR_IMASK = 0;//允许IRQ1中断 INTSCR_MODE = 1; //触发方式选择为下降沿和低电平 EnableInterrupts; //enable interrupts 3 for(;;) { PTA = 0x00; }; //死循环 }
/*IRQ1中断服务程序*/ interrupt void ISR_IRQ(void) { INTSCR_IMASK = 1;//为防止误中断,屏蔽中断 PTA_PTA4 = 1; PTA_PTA5 = 1; //通过两个口控制两个发光管,指示是否进入了中断 INTSCR_ACK = 1; //确认中断,清除中断锁存 INTSCR_IMASK = 0;//退出前开启中断 } 这是我的程序,prm文件是 VECTOR 0 _Startup /* Reset vector: this is the default entry point for an application. */ VECTOR ADDRESS 0XFFFA ISR_IRQ但是现在是中断就实现不了,小弟调试了2个星期了就是没结果,谢谢啊
[此贴子已经被silverwolf7516于2007-9-3 9:50:52编辑过] |