Programación General > C++ Builder

 Inport Y Ouport

(1/3) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa