Programación General > C++ Builder
Inport Y Ouport
niwd:
:comp: Estoy programando una aplicacion para la universidad y debo mover dos motores por el slot ISA y me encontre con el problema de que las funciones inport(), inportb() , outport() y outportb() no son soportadas en c++ builder....
Como puedo tener acceso a estas funciones o mejor dicho al slot usando o construyendo otra funcion????
Por favor ayudenme que es de verdad urgente
Gracias!!!!
© Jonathan ©:
Hola, las funciones no son validas porque de seguro usas windos XP, en win 98 si valen... para hacer lo que necesitas tendras que usar las apis.. lo mas recomendable seria bajarse a un win inferios. asi usarias Builder tranquilo. Saludos!
Aljav:
Me parece que la respuesta anterior esta equivocada. No tiene nada que ver el sistema operativo porque en 98 tampoco se puede accesar a los puertos desde la version 4 de Builder (o algo así).
Como ya he dicho en otras discusiones unicamente tienes que bajarte la libreria NTport de http://www.zealsoft.com/ntport/.
La instalas y listo. guiate de los ejemplos que ahi vienen, no son tan complejos de entender.
© Jonathan ©:
Estas equivocado, mientras el compilador te de acceso a usar ASM puedes hacerlo como te guste en Win 98 pero en XP no, no es como dices, las librerias que recomiendas solo hacen el acceso mediante APIS, por eso funciona para cualquier Windows.. pero el acceso directo con ASM se bloqueo a partir de la version 2000 de Windows.
Vatoicc:
yo hice la misma practica, construimos una tarjeta para el bus ISA, e inicialmente hicimos el programa de c++ en modo DOS.
Para pasarlo a c++ Builder utilize las rutinas de ensamblador IN OUT
ejemplo:
//Para sacar datos
Byte Dato; //Pon en Dato lo que quieras sacar por el bus ISA
Word Direccion; //Pon en Direccion la direccion del puerto ISA, yo use 0x340
asm
{
PUSH AX
PUSH DX
MOV AL,Dato
MOV DX,Direccion
OUT DX,AL
POP DX
POP AX
}
//Para meter datos
Byte Dato;
Word Direccion; //Pon en Direccion la direccion del puerto ISA, yo use 0x340
asm
{
PUSH AX
PUSH DX
MOV DX,Direccion
IN AL,DX
MOV Dato,AL //El dato que entro quedara en Dato
POP DX
POP AX
}
Estas rutinas te pueden servir para le puerto paralelo, es cuestion de cambiar la direccion del puerto
Navegación
[#] Página Siguiente
Ir a la versión completa