.: PUERTOS :.
En esta sección vamos a estudiar a los distintos puertos de la PC, ya que debido a los cambios de hoy en día, y a que el sistema operativo que mas uso (microsoft) esta en constante cambio, y la forma como accesar tambien cambia, hablo de los sistemas operativos XP/2000/2003/W7/W8 especificamente.
ya que para accesar al puerto no solo bastara con hacerle:
out DX,al ;Forma de mandar dato en Assembler
_outp(378H,Dato); Forma de mandar dato en C ,C++
ENVIAR &H378,DATO ;Envio de Dato usando mi DLL simplonaza
Sino que debemos tener otras consideraciones.
Lo primero, en los nuevos sistemas operativos, es un requisito indispensable (Creo Yo, o me ha pasado) que para poder accesar al puerto, tengo que ser administrador, o tener mas privilegios que un usuario cualquiera.
Lo segundo, que no solo con eso basta, ya que si le das a una rutina que envie un dato al puerto, que use un simple mandato, como los antes mensionados, nos saldra una linda ventanita, con un aviso que el programa a prococado un error, luego si uno es minucioso (no tanto). puede darse cuenta que nos sales un aviso, ya que se ha llamado a una instrucción privilegiada => in o out , del esamblador.
Lo tercero, la solución es usar un driver que me permita accesar al archivo de una manera Directa.
!!!! Mas Explicación en el Siguiente enlace: Puertos en Windows
Bueno, ese driver, su DLL y su respectivo codigo fuente lo puedes bajar deAqui
Pero, y como yo uso esas DLL he creado un paquete que instale estas DLL y otras en la PC, de tal manera
que no nos preocupemos por el driver solo basta conocer la libreria inpout32.dll y las funciones:
Out32 (Word, byte)
Aqui para bajar el dichoso instalador.