forked from backup/30dayMakeOS
加快中断处理(1)
This commit is contained in:
@@ -49,7 +49,7 @@ void timer_init(struct TIMER *timer, struct FIFO8 *fifo, unsigned char data)
|
||||
|
||||
void timer_settime(struct TIMER *timer, unsigned int timeout)
|
||||
{
|
||||
timer->timeout = timeout;
|
||||
timer->timeout = timeout + timerctl.count;
|
||||
timer->flags = TIMER_FLAGS_USING;
|
||||
return;
|
||||
}
|
||||
@@ -61,8 +61,7 @@ void inthandler20(int *esp)
|
||||
timerctl.count++;
|
||||
for (i = 0; i < MAX_TIMER; i++) {
|
||||
if (timerctl.timer[i].flags == TIMER_FLAGS_USING) {
|
||||
timerctl.timer[i].timeout--;
|
||||
if (timerctl.timer[i].timeout == 0) {
|
||||
if (timerctl.timer[i].timeout <= timerctl.count) {
|
||||
timerctl.timer[i].flags = TIMER_FLAGS_ALLOC;
|
||||
fifo8_put(timerctl.timer[i].fifo, timerctl.timer[i].data);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user