SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: herdarioloz2208 en Sábado 6 de Mayo de 2006, 04:19

Título: Mscomm
Publicado 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.
Título: Re: Mscomm
Publicado por: SkaJaf en Miércoles 10 de Mayo de 2006, 18:46
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.
Título: Re: Mscomm
Publicado por: jrsmith en Miércoles 10 de Mayo de 2006, 20:45
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
Título: Re: Mscomm
Publicado por: Vatoicc en Miércoles 10 de Mayo de 2006, 21:06
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
Título: Re: Mscomm
Publicado por: herdarioloz2208 en Martes 16 de Mayo de 2006, 06:30
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
Título: Re: Mscomm
Publicado por: Vatoicc en Martes 16 de Mayo de 2006, 21:06
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