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

请教神人

请教神人

我现在用的是清华大学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个星期了就是没结果,谢谢啊
返回列表