SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: herdarioloz2208 en Sábado 6 de Mayo de 2006, 04:19
-
la funcion output en C builder no me ha permitido de ninguna forma sacar datos por el puerto y qisiera saber si alguien tiene la solucion les agradeseria es un poco urgente estoy haciendo un desarrollo y es lo unico que me hace falta.
-
Creo que el problema se debe a que estes realizando el programa sobre windows XP, este gestiona los privilegios y la cosa se complica.
Probablemente si tu aplicacion la pruebas en windows 98 no tengas ningun problema.
-
mira cuando yo utilice la ulima ves el puerto paralelo con builder y xp me tuve que bajar unas librerias que te ayudan para los puertos desgraciadamente eso fue hace algunos anios y pues no recuerdo los nombres pero investiga y pues si las encuentro yo te las paso
-
lo que puedes hacer es escribir una funcion en ensambrador. Eso me sucedio a mi en winXP, y esa fue mi solucion.
void SacerDato( Word Puerto, Byte Dato )
{
asm
{
//Respaldar registros
PUSH AX
PUSH DX
//Direccionar el puerto
MOV DX,Puerto
//Poner el dato
MOV AL,Dato
//Salida
OUT DX,AL
//Restaruar los registros
POP DX
POP AX
}
}
y para la entrada de igual manenera
Byte SacerDato( Word Puerto )
{
Byte Tmp;
asm
{
//Respaldar registros
PUSH AX
PUSH DX
//Direccionar el puerto
MOV DX,Puerto
//Entrada
IN AL,DX
MOV Tmp,AL
//Restaruar los registros
POP DX
POP AX
}
return Temp;
}
Espero que te sirva, por que como ya lo comentaron, XP es muy especial con el uso de puertos
-
gracias por la ayuda pero desafortunadamente ya probe en embos y no funciona y con las rutinas de asembler se hace muy lento tanto desde xp com en 98 y creo que las librerias eran las de un programita que se llama userport que es para abrir puertos en xp funciono con el paralelo pero no con el serial no se porque pero no funciono
-
para el manejo del puerto serie puedes usar el ComPort de winsoft,es muy sencillo de usar.
http://www.winsoft.sk/downld.htm (http://www.winsoft.sk/downld.htm)
Si tienes dudas de como usarlo, me dices y te mando un ejemplo que tengo