C/Visual C - leer y escribir en puertos de E/S

 
Vista:

leer y escribir en puertos de E/S

Publicado por nachocamart (2 intervenciones) el 19/01/2002 20:13:20
Hola, estoy realizando un programa en C++ builder para controlar un almacén automático y quiero saber cual es la mejor forma de leer y escribir en puertos hardware de E/S (no puerto serie) La versión anterior del programa estaba realizada en C y funcionaba bajo dos y usaba las funciones "inport y outport". Ahora usando c++ y bajo windows95 ¿cual es lamejor manera? he visto que win95 si soporta dichas funciones pero mi compilador actual de c++ no las admite ¿puedo usarlas con un archivo de cabecara antiguo que si las admita? o es mjor usar las funciones de la API de windows?
Muchas gracias de antemano por vuestra ayuda, un saludo nacho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:leer y escribir en puertos de E/S

Publicado por Omar (6 intervenciones) el 23/01/2002 08:12:44
Hola, es mejor que utilices unas pequeñas rutinas en ensamblador:

para escribir datos:

asm {
mov dx,Puerto
mov al,DatoPuerto
out dx,al
}

o para el inport:

asm {
mov dx,Puerto
in al,dx
mov DatoPuerto,al
}

donde Puerto es una variable tipo SHORT que contiene la dirección del puerto (en hexa) y DatoPuerto es una variable tipo BYTE u otra de 1byte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer y escribir en puertos de E/S

Publicado por Omar (6 intervenciones) el 23/01/2002 08:15:34
Hola, es mejor que utilices unas pequeñas rutinas en ensamblador:

para escribir datos:

asm {
mov dx,Puerto
mov al,DatoPuerto
out dx,al
}

o para el inport:

asm {
mov dx,Puerto
in al,dx
mov DatoPuerto,al
}

donde Puerto es una variable tipo SHORT que contiene la dirección del puerto (en hexa) y DatoPuerto es una variable tipo BYTE u otra de 1byte

si deseas o si las usas bastante, puedes definir una función inport y una outport que contenga el codigo anterior
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar