• Viernes 8 de Noviembre de 2024, 23:08

Autor Tema:  Mscomm  (Leído 2459 veces)

herdarioloz2208

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Mscomm
« en: Sábado 6 de Mayo de 2006, 04:19 »
0
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.

SkaJaf

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Mscomm
« Respuesta #1 en: Miércoles 10 de Mayo de 2006, 18:46 »
0
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.

jrsmith

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: Mscomm
« Respuesta #2 en: Miércoles 10 de Mayo de 2006, 20:45 »
0
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
Most people are so ungrateful to be alive, but not you, not any more...


     
PUMA DE CORAZON Y HASTA LA MUERTE

Vatoicc

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Mscomm
« Respuesta #3 en: Miércoles 10 de Mayo de 2006, 21:06 »
0
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
La paranoia es una vision mas sutil de la vida

herdarioloz2208

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Mscomm
« Respuesta #4 en: Martes 16 de Mayo de 2006, 06:30 »
0
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
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Vatoicc

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Mscomm
« Respuesta #5 en: Martes 16 de Mayo de 2006, 21:06 »
0
para el manejo del puerto serie puedes usar el ComPort de winsoft,es muy sencillo de usar.


http://www.winsoft.sk/downld.htm

Si tienes dudas de como usarlo, me dices y te mando un ejemplo que tengo
La paranoia es una vision mas sutil de la vida