Necesito una ayuda. Estoy tratando de manejar los IRQ's en un programa(se ejecuta directamente sobre el Hardware)y necesito manejar el IRQ del teclado y recibir los datos de el, pero en C, ¿alguna idea?
He visto varios ejemplos en ensamblador, pero no los entiendo del todo y no se que IRQ maneja(estoy buscando manejar el IRQ1, Interruptor 09)y ademas no consigo entender como sabe que teclas se pulsan...
Gracias de antemano
Yo no conozco ninguna forma
Yo no conozco ninguna forma de hacer eso sin usar ensamblador (asm), más que nada porque las interrupciones funcionan con los registros específicos del procesador, y para eso hay que usar asm (si no sabes que es un registro del micro, mejor olvidate del asundo :D).
Puedes incrustar intrucciones asm en C, mediante la directiva "asm", "__asm__" o también "__asm". No es un estándar de C y cada compilador tiene el suyo propio, pero aún así, no dejan de ser instrucciones en asm puro y duro ;-).
Aquí tengo un texto, que te podrá ser útil de unos apuntes que tenía por ahí (ya tienen tiempo):
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Gracias por la documentacion,
Gracias por la documentacion, me ha servido para programar el teclado(los mapas de teclas lian lo suyo, xD).
y tambien de referencia para los IRQ. Gracias.
Al final no tuve que usar mucho ASM, lo justo para iniciarlos y recibir las interrupciones, lo demas lo hago en C, xD. Ademas tuve que adaptar la GDT y la IDT, porque daban problemas con los IRQ y el manejador de excepciones...
Ya he conseguido manejar mas
Ya he conseguido manejar mas o menos las IRQ's, ya no necesito la ayuda.
Una progunta
qué es eso? Lo he buscado en wikipedia pero no lo entiendo
La verdad es que no se
La verdad es que no se explicarme, pero lo intentare.
Cuando tu pulsas una tecla en el teclado(por ejemplo)este genera una señal que se llama IRQ(se puede llamar interrupcion de hardware o peticion de interrupcion), se podría decir que segun el hardware sirve para una cosa o para otra, en el caso del teclado es para recibir las pulsaciones de este y el numero de tecla que se ha pulsado y luego interpretarlo tu en el codigo para obtener lo que quieres. De todas formas no creo que lo entiendas con mi explicacion, busca en google IRQ solo, te saldran muchos resultados sobre las Interrupciones o IRQ's.
Y solo es con el teclado?
eso
No hombre, practicamente con
No hombre, practicamente con todos los dispositivos de entrada/salida, de todas formas dejo la lista que tengo yo: