SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: laluchi en Viernes 5 de Diciembre de 2008, 00:02
-
Hola a todos! Les comento mi problema.
Estoy haciendo un proyecto en el que necesito enviar unos datos a la compu. Mi idea es hacer un programa en Visual C++ para leer los datos ingresados por Puerto paralelo. (Uso XP)
De programacion se lo basico, nada de objetos...
Como no se como hacer un programa, lo que hice fue manipular un codigo que encontre en la web, para poder lograr mi cometido.
Pero tengo un problema que me ha ocurrido varias veces que quise programar: Como necesito chequear constantemente el estado de los puertos, lo que se me ocurrio hacer es chequear el estado de ciertas entradas, luego manipular los datos a mi gusto, y luego un bucle para nuevamente volver a chequear los estados. El GRAN PROBLEMA que surge, es que me consume el 50% del micro. Con varios programas me paso esto. Se que habria que trabajar con interrupciones, tambien lei por algun lado que con W.XP hay problemas con el puerto paralelo.
Pero no se me ocurre nada!
Y la verdad que, si bien ahora me esta funcionando el programa, no me sirve que este consumiendo tanto micro, porque el sistema se vuelve inestable.
Asi que en sintesis... hago dos preguntas...
1-¿Alguien sabe como ayudarme teniendo en cuenta lo q acabo de decir? ¿que deberia hacer?
2- en su defecto, alguien conoce algun codigo de un programa q capture los datos del puerto paralelo, asi yo puedo manejarme desde ahi?
Muchisimas gracias!
-
No hay ningun problema con Windows XP pero ningun S.O. moderno te permite hacer uso de interrupciones desde modo Usuario. Seguramente tu problema se solucione con un simple Sleep (500 o 1000, x ej) en el bucle.
-
antes que nada, gracias por responder.
Con el tema del Sleep, lo intente con otros programas, y nunca me funciono.
nose si tendra que ver conla version del lenguaje de programacion, o que.... pero nunca me anduvo.
Si queres decime que libreria tengo que agregar para el sleep, y lo pruebo de nuevo... aunq dudo que me ande.
Gracias de nuevo
-
Kernel32 se necesita para Sleep (http://msdn.microsoft.com/en-us/library/ms686298(VS.85).aspx). ¿Que compilador usas?
-
mmmmmmmm
perdon la ignorancia, pero... como averiguo que compilador usa mi VC++ ?
La version es 6.0 pro
-
VC++ es el compilador (cl.exe el archivo), tenes que incluir windows.h:
PD. La version 6.0 ya es obsoleta.