|
我现在使用的skyeye版本是skyeye-1.2-RC8-3.
使用它来模拟lpc2210的板子,想在上面做一些开发,做了一个有关定时器中断的东西.发现整个程序只会响应一次中断(中断程序离开前有为VICVectAddr清零,中断标志有清除).
后来看了一下源码skyeye_mach_lpc2210.c,找到如下代码:
nIRQNum = io.vic.VectCntl & 0xf;
if ( (nIRQNum<<mask) & io.vic.IRQStatus )
{
if ( nIRQNum < nHighestIRQ )
nHighestIRQ = nIRQNum;
} //其中mask=1
好像当中的判断条件应该改为((mask<<nIRQNum)&io.vic.IRQStatus).
这才是用来判断相应位是否有中断标志.
请各位牛人确认一下,是否是个Bug.或者是我错了,错在什么地方.或者是已知Bug?
不胜感激! |
|