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

semaforo en C

Estas en el tema de semaforo en C en el foro de C/C++ en Foros del Web. hola tengo una consulta... kiero programar un semaforo controlando led por puerto paralelo... tengo listo el sistema electrico y desblokeado el puerto paralelo ( windows ...
  #1 (permalink)  
Antiguo 18/04/2009, 14:53
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
semaforo en C

hola tengo una consulta...

kiero programar un semaforo controlando led por puerto paralelo...

tengo listo el sistema electrico y desblokeado el puerto paralelo ( windows )

kiero saber ke libreria tengo ke ocupar para usar el puerto paralelo?

y lo otro... " outp(0x378,0xFF); " esta bien escrito o es " outportb(0x378,0xFF); "

esop saludos =D
  #2 (permalink)  
Antiguo 18/04/2009, 16:51
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
De acuerdo Respuesta: semaforo en C

Hola,

A mi también me tocó hacer algo similar, el mio era un secuenciador de luces de velocidad variable, y para lograrlo utilicé la función outp(0x378,dato) de la libreria conio.h, donde 0x378 es la dirección que tiene asignado el puerto paralelo, la cual te pudes fijar en el admistrador de dispositivos de windows. y dato que es el valor de salida es decir que número quieres enviar, por ejemplo si colocar 2 la notación enviada al puerto será 0000010 y así con todos los números...


Espero que te sea de ayuda...
  #3 (permalink)  
Antiguo 18/04/2009, 17:50
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

mira tengo una duda en ese caso...

alomejor por eso no me funciona...

yo pongo ese puerto 0x378 pero en las propiedades me sale esto


http://img12.imageshack.us/my.php?image=puertor.jpg

osea tendria ke colocar en vez de 0x378 0x3f8 ?

esop saludos
  #4 (permalink)  
Antiguo 18/04/2009, 18:36
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
Busqueda Respuesta: semaforo en C

Hola,

En la imagen me muestras las propiedades del puerto serial (COM1), y no del paralelo(LPT), revisa ese y me cuentas...


Saludos
  #5 (permalink)  
Antiguo 18/04/2009, 18:52
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

http://img22.imageshack.us/my.php?image=dibujonnh.jpg

ahi me sale el puerto...

pero me salen dos... cual tengo ke colocar?...

si me puedes ayudar ene l codigo please tb =D
  #6 (permalink)  
Antiguo 18/04/2009, 19:06
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: semaforo en C

Con el primero funcionaría bien, es decir, con el 0x378.

Claro que te ayudo con el código, el compilador que utilicé fue turbo c++ 3.0.
Dime que parte del código se te complica y te hecho una mano, ok...


Saludos
  #7 (permalink)  
Antiguo 18/04/2009, 19:13
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

mira realmente no tengo idea ke libreria va a funcionar... asi ke coloke la ke me ivan diciendo xD

Cita:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/io.h>
#include <conio.h>
#include <dos.h>

int c;
int x;
int main ()
{

printf(" Semaforo Por Puerto Paralelo\n");
printf("Ingrese La Cantidad De Ciclos: \n");
scanf("%d",x);
for (c=1; c<=x; c++)
{
_outp(0x378,0); // Envía CEROS (LEDS OFF)
Sleep(1000);
_outp(0x378,2); // Envía UNOS (LEDS ON)
Sleep(1000);
_outp(0x378,0);
Sleep(1000);
_outp(0x378,4);
Sleep(1000);
_outp(0x378,0);
Sleep(1000);
_outp(0x378,8);
Sleep(1000);

}
}
no toy seguro si esta bien... me tira este error :

C:\Users\Desktop\Semaforo.cpp In function `int main()':
19 C:\Users\Desktop\Semaforo.cpp `_outp' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)


eso estara biene escrito?...

explico lo ke kieor hacer es prender un led y apagarlo y luego prender el otro y hasi sucesivamente.. verde amarillo rojo / verde amarillo rojo / verde amarillo rojo / ....


esop saludos =D
  #8 (permalink)  
Antiguo 18/04/2009, 19:40
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: semaforo en C

Por lo visto estás utilzando visual c++ para hacer tu programa, y que según he leído para utilizar el Sleep tienes que estar dentro de una ventana o u cuadro de diálogo en otro caso no funciona, pero en fin. En ese caso te proporciono el código pero para turbo c++ 3.0:

Código c++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <dos.h>
  4.  
  5. int c;
  6. int x;
  7.  
  8. void main ()
  9. {
  10.   printf(" Semaforo Por Puerto Paralelo\n");
  11.   printf("Ingrese La Cantidad De Ciclos: \n");
  12.   scanf("%d",x);
  13.  
  14.   for (c=1; c<=x; c++)
  15.   {
  16.     outp(0x378,0); // Envía CEROS (LEDS OFF)
  17.     delay(1000); //Reemplaza al Sleep de Visual(porque no funciona provoca error)
  18.     outp(0x378,2); // Envía UNOS (LEDS ON)
  19.     delay(1000);
  20.     outp(0x378,0);
  21.     delay(1000);
  22.     outp(0x378,4);
  23.     delay(1000);
  24.     outp(0x378,0);
  25.     delay(1000);
  26.     outp(0x378,8);
  27.     delay(1000);
  28.   }
  29. }

Espero que te ayude un poco más, cualquier otra inquietud avisas...


Saludos
  #9 (permalink)  
Antiguo 18/04/2009, 20:03
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

vale uso el dev c++

ahora voy a ver ke onda con el programa y te aviso =D


saludos
  #10 (permalink)  
Antiguo 18/04/2009, 20:15
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

http://img4.imageshack.us/my.php?image=dibujoqpv.jpg

mira esos errores me salen... me tinca ke no tengo instalada alguna libreria... =S

esop saludos =D
  #11 (permalink)  
Antiguo 18/04/2009, 20:27
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
Pregunta Respuesta: semaforo en C

Pues, estuve probando también en el compilador de DEV-c++ y no funciona como tu colocaste en un principio, porque como ya te dije el code que te di es para turbo c++, entonces habría la posibilidad que en lugar de utilizar el DEV usarás Turbo C++...

Saludos
  #12 (permalink)  
Antiguo 18/04/2009, 20:31
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

okale entonces buscare ese compilador mejor... necesito algo especial para usar el puerto paralelo ?...

esop saludos =D
  #13 (permalink)  
Antiguo 18/04/2009, 20:35
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
De acuerdo Respuesta: semaforo en C

Ok, pues si al circuito te refieres, no sé que especificaciones te darían, pero si se trata de solo encender y apagar los leds con los 3 leds, 3 resistencias 220 ohm y por supuesto el infaltable cable para conetar al puerto con eso ya tienes para trabajar...

Saludos
  #14 (permalink)  
Antiguo 18/04/2009, 20:41
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

a no si eso lo tengo... de echo tengo el puerto desblokeado y los led me prenden... solo me faltaba programarlo...

ahora me refiero a turbo c++ necesita algo especial para controlar el puerto paralelo?...

encontre una vercion del tubo se pero no me funciono =S... le ponia abrir y no me abria... =S..

esop ahora toy bajando otra a ver ke odna... esop saludos -=D
  #15 (permalink)  
Antiguo 18/04/2009, 20:46
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
Sonrisa Respuesta: semaforo en C

A ya (jejeje) bueno me avisas que onda con el programa cuando ya lo pruebes...


Saludos
  #16 (permalink)  
Antiguo 18/04/2009, 20:57
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

en eso toy me salio algo asi al momento de compilar el progrma...

Null Pointer Asignement

esop saludos...
  #17 (permalink)  
Antiguo 18/04/2009, 21:24
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: semaforo en C

Como así en que compilador de turbo C++ estás trabajando porque lo probé y si funciona y no arroja ese tipo de error...

A ver si contactamos el msn mejor, para mayor agilidad...

Saludos
  #18 (permalink)  
Antiguo 18/04/2009, 21:31
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

deve ser por la vercion de tubo c =S

esop saludos


[email protected]

pero podria ser mañana please... lo ke pasa es ke me estan echando de la piesa =P

esop slaudos muchas gracias por la ayuda... cualkier cosa te sigo posteando =D

esop saludos

Última edición por Dark Kronox; 18/04/2009 a las 21:39
  #19 (permalink)  
Antiguo 18/04/2009, 21:46
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 13 años, 3 meses
Puntos: 7
De acuerdo Respuesta: semaforo en C

Entonces ahi veremos cual mismo es el problema porque en realidad se me hace raro ese error que me comentas.


Saludos
  #20 (permalink)  
Antiguo 19/04/2009, 16:53
 
Fecha de Ingreso: abril-2007
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: semaforo en C

ahi toy revisando a ver ke odna...

cualkier cosa te cotacto =D
  #21 (permalink)  
Antiguo 18/08/2010, 07:39
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Respuesta: semaforo en C

Como estan?

Estoy tratando de hacer un programa similar para la facultad. Lo pudieron hacer funcionar ustedes? De ser asi, me podrian facilitar el codigo y que compilador utilizaron?

Muchas gracias
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:37.