Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Necesito ayuda con este programa

Estas en el tema de Necesito ayuda con este programa en el foro de C/C++ en Foros del Web. Hola que tal a todo el grupo, necesito sabes como puedo hacer que este programa que tengo aqui a continuacion pueda prender los lets conforme ...
  #1 (permalink)  
Antiguo 01/12/2008, 12:08
Avatar de Reyscorpion  
Fecha de Ingreso: octubre-2008
Mensajes: 74
Antigüedad: 15 años, 6 meses
Puntos: 0
Necesito ayuda con este programa

Hola que tal a todo el grupo, necesito sabes como puedo hacer que este programa que tengo aqui a continuacion pueda prender los lets conforme yo quiera, lo que hace este programa es que por medio del puerto paralelo con una conexion db25 se prenden los lets uno por uno conforme va corriendo el programa, pero ahora quiero saber como los puedo controlar yo osea que diga cual quiero prender y se prenda automaticamente, espero haberme dado a entender, gracias

#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <dos.h>
main ()
{
clrscr ();
int m;
for (m=0;m<=255;m++)
{
outport (0x378,m);
cout <<m;
delay (250);
}
return 0;
}
  #2 (permalink)  
Antiguo 01/12/2008, 15:10
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Necesito ayuda con este programa

A ver. el segundo parametro de la funcion outport dice el numero que quieres que haya a la salida no?

El puerto paralelo utiliza 8 bits para el envio de datos. En google estan que patillas corresponden a esos 8 bits.
pues solo hay que pasar ese numero a binario.
si quires que haya un 1 en la patilla 0: 0000 0001 (binario) = 1 (decimal) outport (0x378,1);
si quieres que haya un 1 en la patilla 3: 0000 0100 (binario) = 4 (decimal) outport (0x378,4);
si quieres que haya un 1 en la 4 y en la 3: 0000 1100 (binario)=12 (decimal)outport(0x378,12);

No se si me explico bien.
  #3 (permalink)  
Antiguo 02/12/2008, 12:35
Avatar de Reyscorpion  
Fecha de Ingreso: octubre-2008
Mensajes: 74
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Necesito ayuda con este programa

La verdad nop te entendi pmucho espero que me lo expliques un poco mas porque soy nuevo con el c
  #4 (permalink)  
Antiguo 02/12/2008, 16:18
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Necesito ayuda con este programa

No si esto tiene poco que ver con C.

Tu en el segundo parametro de la funcion outport pones el numero que quieres que saque el puerto, y el puerto, mediante los 8 bits que tiene para el envio de datos, saca ese numero en binario.

Es decir, si pones outport(0x378, 4) por el puerto saldra 0000 0100 que corresponde al 4 en binario y se encendera el LEDnumero 3.

si quieres encender el LED 4, en la salida debera haber 0000 1000 que este numero en binario es el 8, por lo tanto en el segundo parametro de la funcion outport sera un 8.

Espero que asi lo entiendas, no se explicarlo mejor.
  #5 (permalink)  
Antiguo 02/12/2008, 20:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Necesito ayuda con este programa

pues soy
principiante en c ++
asi q pues
casi no entiendo
apenas estoy biendo la estructura for
  #6 (permalink)  
Antiguo 05/12/2008, 20:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 49
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Necesito ayuda con este programa

Buenasss

Si lo que explica poi es correcto, un algortimo lindo para prender los leds seria...

Código HTML:
main ()
{
          unsigned char i = 0x01;

          while (1)
          {
                      while (i <= 0x80)
                      {
                             outport (0x378,i);
                             cout <<i;
                             delay (250);
                             i <<= 1;
                       }
                       i = 0x40;
                       while (i >= 0x01)
                       {
                             outport (0x378,i);
                             cout <<i;
                             delay (250);
                             i >>= 1;
                       }
                       i = 0x02;
           }
}
Espero funcione.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.