00001 00005 #include "routix/system.h" 00006 #include "routix/8254.h" 00007 #include <routix/kstdio.h> 00008 #include "routix/debug.h" 00009 00010 00011 00015 void init_8254() 00016 { 00017 00018 #if __8254_DEBUG 00019 puts("init_8254:\n"); 00020 kprintf("\tCWR: 0x%x (COUNTER_0 | LSB_MSB | MODO2)\n",(COUNTER_0 | LSB_MSB | MODO2)); 00021 kprintf("\tFrecuencia oscilador interno: %d Hz\n",FOSC); 00022 kprintf("\tFrecuencia de interrupcion : %d Hz\n",FINTERRUPCION); 00023 kprintf("\tCuenta: 0x%x\n",CUENTA); 00024 #endif 00025 // Configuramos el contador 0 en modo 2 00026 outportb(CWR, COUNTER_0 | LSB_MSB | MODO2); 00027 00028 // Configuramos la cuenta para una interrupción cada 10ms 00029 outportb(COUNTER0, (unsigned char) CUENTA); 00030 outportb(COUNTER0, CUENTA>>8); 00031 00032 } 00033 00034