yhc1991 2014-12-16 09:13 采纳率: 0%
浏览 936

ARM定时器首次进入中断后不退出

request_irq(IRQ_TIMER1,time2_interrupt , IRQF_DISABLED | IRQF_TIMER, " Timer1 Tick", NULL);

void clear_irq( )
{

(*(volatile unsigned long *) CTRL1) &= ~(1<<15); //清楚中断标记
}

static irqreturn_t time2_interrupt(int irq, void dev_id )
{

//(
(volatile unsigned long ) ROTCTRL) &= ~(1<<27);//关闭定时器2
//(
(volatile unsigned long *) CTRL1) &= ~(1<<14);//禁止中断
//writel(0x004b,IO_ADDRESS(HW_TIMROT_TIMCTRL2));

printk("FIQHAPPEN:%08x\n",FIQCT);
clear_irq( );
writel(0x4ffff,IO_ADDRESS(HW_TIMROT_FIXED_COUNT1));
// (*(volatile unsigned long *) CTRL1) |= (1<<14); //使能中断
return IRQ_HANDLED;
}
申请定时器中断后,进如中断处理程序后,不能退出,一直执行打印语句。打印状态显示中断标记位未清除,这是怎么回事?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog