作者:Emily___Emily_622 | 来源:互联网 | 2023-10-14 12:34
我的情况是这样的:2450WinCE5.0唤醒后,机器卡死:除了显示屏显示一静态图像外,系统不响应其他的外设。通过打印信息知道,与EINT9注册了的那个事件(我命名为Event_EINT9
我的情况是这样的:2450 WinCE5.0 唤醒后,机器卡死:除了显示屏显示一静态图像外,系统不响应其他的外设。
通过打印信息知道,与EINT9注册了的那个事件(我命名为Event_EINT9)不断地被置成通知状态。
因此系统就在那个处理中断的线程里循环,导致系统呈死机状态。
但是我用示波器测了一下EINT9管脚的状态,发现一直是高电平,就是外部没有中断信号啊!!
那为什么那个与EINT9注册了的事件会不断被置成通知态??
9 个解决方案
看看中断Done处是如何处理的?
休眠时是否被正常处理?
有没有将 interrupt pending register 清除??
Paul, Chao @ Techware
程序每次进入ISR,退出时我都用InterruptDone清除并使能中断了啊。
建议楼主查看下中断的清除部分的代码,是不是处理干净
三星的24**系列,EINT0-EINT15应该都可以唤醒休眠的,LZ应该检查下你进入休眠之前的代码。要知道休眠唤醒之后,系统是直接再跳到你进入休眠之前的地址继续执行的