• Lunes 16 de Diciembre de 2024, 07:03

Autor Tema:  C++ Y Lpt  (Leído 3909 veces)

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
C++ Y Lpt
« en: Jueves 22 de Septiembre de 2005, 04:45 »
0
... y necesito de su ayuda maestros.-

Wenas, necesitos lograr abrir y cerrar (o sea 1 y 0), os 8 primeros pines del puerto LPT, hace tiempo hice un programa y no me acuerdo si lo hice en ASM o C++, quiza fue una combinacion de ambos y me funciono lo mas bien en XP, pero lo perdi.-

Ahora encuentro programas que funcionan de inmediato, pero utilizando una .DLL, y se que antes me funciono sin eso.-

Me dirijo a la informacion publicada en internet y libros y me dice que lo haga con las instrucciones outportb o simplemente outport de C++ o las interrupciones de ASM, pero el circuito que hice no racciona, y como escribi antes si funciona con esos probramas hecho en visual y con la libreria .DLL.-

Me pueden ayudar????.-

Quiero controlar una placa con relees, para encender y apagar cosas.-

No estara bloqueado XP con SP 2 para el manejo de interrupciones?, ya que en el administrador de dispositivos salen 3 opciones:

1.- No utilizar nunca una interrupcion
2.- Intentar no utilizar una interrupcion
3.- Uilizar cualquier interupcion asociada.-
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

ecolve

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: co
    • Ver Perfil
    • http://twitter.com/ecolve
Re: C++ Y Lpt
« Respuesta #1 en: Jueves 22 de Septiembre de 2005, 04:55 »
0
:comp:

Hola Neopro.....no se si te pueda servir pero yo hice un programa manejando el puerto paralelo......miralo esta adjuntado en la ultima parte de la discucion....

http://foros.solocodigo.com/index.php?showtopic=14350&hl=

....espero te sirva......suerte!!!!!!!!!


 :kicking:
"...everything that has a beginning, has an end..."

http://twitter.com/ecolve
Edwin C. <ecolve>

<<== 11101 ==>>

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: C++ Y Lpt
« Respuesta #2 en: Jueves 22 de Septiembre de 2005, 13:48 »
0
Cita de: "Neopro"
... y necesito de su ayuda maestros.-

Wenas, necesitos lograr abrir y cerrar (o sea 1 y 0), os 8 primeros pines del puerto LPT, hace tiempo hice un programa y no me acuerdo si lo hice en ASM o C++, quiza fue una combinacion de ambos y me funciono lo mas bien en XP, pero lo perdi.-

Ahora encuentro programas que funcionan de inmediato, pero utilizando una .DLL, y se que antes me funciono sin eso.-

Me dirijo a la informacion publicada en internet y libros y me dice que lo haga con las instrucciones outportb o simplemente outport de C++ o las interrupciones de ASM, pero el circuito que hice no racciona, y como escribi antes si funciona con esos probramas hecho en visual y con la libreria .DLL.-

Me pueden ayudar????.-

Quiero controlar una placa con relees, para encender y apagar cosas.-

No estara bloqueado XP con SP 2 para el manejo de interrupciones?, ya que en el administrador de dispositivos salen 3 opciones:

1.- No utilizar nunca una interrupcion
2.- Intentar no utilizar una interrupcion
3.- Uilizar cualquier interupcion asociada.-
Hola, como dices, si es en XP necesitas una DLL, porque no tienes la misma libertad que en WIN 98, o bien utilizar la API CrateFile.. usando apis no necesitas librerias adicionales. Yo utilizo io.dll en XP y no he tenido problemas. Saludos :)

PD: puede tmb que esa vez que funciono sin dll, esa dll si haya estado en la carpeta windows\system  :ph34r:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: C++ Y Lpt
« Respuesta #3 en: Jueves 22 de Septiembre de 2005, 19:39 »
0
Haber...

Yo recuerdo que con C++ la version Borland 3.algo no me pedia una sola DLL.-
Y el programa que yo habia desarrollado es muy parecido al que realizo ecolve, y ese tampoco usa librerias.

Baje toda la informacion que colocaste y probare el codigo, ya que el circuito no lo tengo aca, pero en que sistema lo corriste?. Te funciona desde WIN98  en adelante incluyendo WIN XP PRO SP2?

 Y Jonathan me puedes explicar que es esa API y donde la trabajas?, tienes algun ejemplo?.-

La idea mia final es que un PC se comunique con otro via IP, autentificando al usuario, y que al final el servidor, o la aplicacion que maneje LPT controle cualquier dispositivo, asi como la Domótica.-

Hare unas pocas preguntas a la ves, GRAX.-
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: C++ Y Lpt
« Respuesta #4 en: Viernes 23 de Septiembre de 2005, 23:31 »
0
ECOLVE, el codigo es weno, pero solo me cambia el estado de unos leds conectados al LPT luego de algunas cuantas veces de ejecutarlo, no funciona de inmediatamente.-
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: C++ Y Lpt
« Respuesta #5 en: Sábado 24 de Septiembre de 2005, 02:02 »
0
Citar
Y Jonathan me puedes explicar que es esa API y donde la trabajas?, tienes algun ejemplo?

Holas, no tengo ejemplos de la api, busque muy por arriba una vez, pero como solucione el problema usando la libreria io.dll no le preste mucha atencion. Saludos :)
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

ecolve

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: co
    • Ver Perfil
    • http://twitter.com/ecolve
Re: C++ Y Lpt
« Respuesta #6 en: Sábado 24 de Septiembre de 2005, 02:16 »
0
:comp:

Hola Neopro.....que raro que no te funcione....en su momento a mi me funciono a la perfeccion....sera que tenes configurado el puerto LPT con otra direccion.....verifica si depronto es por ese lado.....suerte!!!!!!!!


 :kicking:
"...everything that has a beginning, has an end..."

http://twitter.com/ecolve
Edwin C. <ecolve>

<<== 11101 ==>>

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: C++ Y Lpt
« Respuesta #7 en: Sábado 24 de Septiembre de 2005, 18:15 »
0
Con que ocupas el io.dll????, con borland c++ 3.algo?

Y ecolve, la direccion ta wena, insisto, despues de cerrar el programa me hace los cambios en el LTP.-
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

ecolve

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: co
    • Ver Perfil
    • http://twitter.com/ecolve
Re: C++ Y Lpt
« Respuesta #8 en: Sábado 24 de Septiembre de 2005, 21:16 »
0
Cita de: "Neopro"
Con que ocupas el io.dll????, con borland c++ 3.algo?

...despues de cerrar el programa me hace los cambios en el LTP...
 :comp:

Ya te entiendo......cuando hice el programa en Win. Xp me pasaba lo mismo y si lo ejecutaba en un equipo con Win. 98 funcionaba excelente.......no se si es el mismo caso tuyo.....pero me quede sin saber porque pasaba eso........si alguien me puede colaborar con esa dudita....gracias!

.......suerte!!!!!!!!!!

 :lightsabre:
"...everything that has a beginning, has an end..."

http://twitter.com/ecolve
Edwin C. <ecolve>

<<== 11101 ==>>

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: C++ Y Lpt
« Respuesta #9 en: Domingo 25 de Septiembre de 2005, 00:11 »
0
Bueno, la puedesw usar en lo que quieras, yo la utilice en BC++1 y BC++6 .. te lo adjunto para que la veas, es util, talves te sirva de algo. Saludos :)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: C++ Y Lpt
« Respuesta #10 en: Miércoles 28 de Septiembre de 2005, 01:47 »
0
Graciosamente, el programa me funciono luego de agregar la siguiente linea:

for (int i = 0 ; i < 8 ; i ++)
{
outportb(0x378,dato);
}

Hay que hacerle 2 veces FOR, y lo ideal es crear una funcion mostrar(); que sea llamada de la siguiente manera

for(int i = 0 ; i < 8 ; i++)
{
mostrar(valor_a_mostrar); //esto le pasa el valor a la funcion mostrar
}

y la funcion en si misma:

int mostrar (int val) //val es el valor a mostrar
{
for (int j = 0 ; j <8; j ++)
outportb(0x378,val);         //OJO outportb y no outport

return 0;
}


Por si acaso aca va el prototipo
#include<....>
int mostrar (int);

int main()
{


Tratare de entender porque con el FOR haciendolo 8 veces por 2 veces funciona bien, pero esto funciona tanto en XP como en 98.-
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]