# Puerto paralelo con C



## julio cesar (Ene 22, 2006)

HOLA AMIGOS, quisiera obtener información sobre como programar el puerto paralelo de mi PC en C, poder enviar y recibir información desde este puerto, tambien bajo que programa o compilador se puede hacer esto?,descargue los 5 discos del turboC pero tengo problemas en la instalacion de este, son 5 archivo comprimdos, lo que hice fue descomprimirlos en 5 disquetes pero el archivo 3 y el 5 no caben totalmente en su respectivo disquete, no hay algun otro compilador que me funcione para esto y sea mas facil de instalar???

pd// uso win98


----------



## maunix (Ene 23, 2006)

Compiladores de C... hay a patadas....

No se cual te interesa puntualmente pero usar algo bajo windows 98 es ir para atras.  Lo que hagas en ese sistema operativo NO te funcionará en windows 2000, xp o posteriores.

Trabajar con el puerto paralelo con win98 es idéntico a hacerlo con DOS, ya que en definitiva terminas usando la dirección de puerto 0x378 y subsiguientes.

Hace años no hago eso en DOS pero en internet, si haces google verás miles de software del tipo!.

El inconveniente está en que tipo de puerto tiene tu pc, SPP, EPP , ECP, Bidireccional, etc    Parecen iguales pero no lo son.  Además podrías incluso quemarlo si le ingresas con las tensiones inapropiadas.

Uno muy popular es el entorno de programacion DEV-C http://www.bloodshed.net/devcpp.html que utiliza al compilador GCC.


----------



## zidaemon (Feb 25, 2006)

Bajo C++ es muy facil... ademas de Visual Basic, en cuanto a la direccion de el puerto, esta tiene posibles direcciones.
en www.paginasprodigy.com/zidaemon hay mas información de como obtener y como mandar datos para un LPT

Te comento que hay que tener mucho cuidad con el puerto por que se puede quemar...... y esta en la placa madre osea que es "irremediable el daño".

En cuanto al software...... consigue el c++ o visual.. que si bien no son gratuitos.......los consiguen todos con compañeros o del los softwares de de comparticion de datos tal como el Kazzzzz  y otros.


----------



## eca (Mar 6, 2006)

veras aqui un programa q sirve para  correrlo en visual C o en turbo C en modo DOS pero ten en cuenta lo de tu puerto y usa un integrado 74LS244 como etapa separadora  para proteger tu puerto, pero bueno haber si me dices q es lo q necesitas exactamente de repente te puedo ayudar 


```
#include <windows.h>
#include <stdio.h>

int c;

void main ()
{
	printf("Espere mientras se prende/apaga los leds por el puerto paralelo\n");
	for (c=1; c<=20; c++)	// Repite 20 veces
	{
		_outp(0x378,0xFF);	// Envía UNOS (LEDS ON)
		Sleep(400);	// Genera un retardo de 400 ms
		_outp(0x378,0x00);	// Envía CEROS (LEDS OFF)
		Sleep(400);
	}
}
```

suerte


----------



## Pacho (Oct 23, 2007)

ke pasa si en la prueba de ese programa solo uso un circuito con un solo led y una sola resistencia de 215 ohms?


----------



## ELIUSM (May 28, 2008)

Debería funcionar. La resistencia va en serie con el Led. Y tratade usar más Ohms, como 330 o 470, pero 215 está bien.
Saludos!


----------



## luigi2304 (May 30, 2008)

Disculpen por la intromision pero alguien sabe de información para programar el mismo puerto en VBasic, no programas, sino programacion.
se los agradeceria


----------



## Toño (Ene 27, 2009)

he probado el codigo expuesto anteriormente en el borland y me marca un error en la instruccion _outp, a que se puede deber?

de antemano gracias


----------



## Moyano Jonathan (Ene 27, 2009)

Les recomiendo que vallan aprendiendo sobre el puerto USB ya que dentro de poco ni el serie ni el paralelo se van a usar. Y ya pronto van a sacar USB 3.0......


----------



## Dr. Zoidberg (Ene 27, 2009)

Toño dijo:
			
		

> he probado el codigo expuesto anteriormente en el borland y me marca un error en la instruccion _outp, a que se puede deber?
> 
> de antemano gracias



A que esas instrucciones no se llaman así en el C de Borland. Tenes que cambiar el _outp por el *outb*. Los argumentos creo que son los mismos en la misma secuencia.

Saludos!


----------



## Toño (Ene 27, 2009)

hola esavalla te agardezco la respuesta pero lo que pasa con el error es que dice que no he definido la funcion, ya cambie _outp por outb y me sigue marcando el mismo error y en cuando a los puertos USB en verdad quisiera hacerlo, pero me gustaria primero aprender lo basico, que creo es el puerto paralelo. gracias


----------



## diego3602 (Jul 4, 2011)

la funcuion en c es outport(888,valor); para sacar una palabra y outportb(888,valor); para un byte del 1ro estoy seguro del 2do no pq lo vi solamente nunca lo probé


----------

