Como manejar los puertos de la PC con C++?

Saludos foristas yo tengo un problema con el Userport, me manda datos por el puerto paralelo de forma saltada, me refieró a que cuando hago correr un programa funciona bien, acto seguido hagó correr el mismo programa y no funciona para nada. Yo lo usó para habilitar el puerto paralelo con ensamblador.
 
Hola amigo, yo pase por lo mismo, y te recomendaria que pruebes con estas dos soluciones.
->Habilita con el User port solo los puerto que vas a utilizar no todos.
->Saca las dos librerias IO.dll y la inpout32.dll, baja las que dan mas arriba en los comentarios de nuevo y pegalos de vuelta.

Y si nada de esto funciona, que es a lo que recurri yo, prueba restaurar el sistema hasta el punto anterior a haber utilizado el Userport por primera vez, y sigue el paso 1 de mi lista!jaja

Saludos y espero lo soluciones...

Y se arregle o no avisa en el foro! ;)
 
pues la verdad no tiene mucha ciencia conectas el anodo de un simple led al pin D0 del puerto paralelo Y en el catodo del led le conctas una resistencia de 220 ohms y el otro extremo de la resistencia la conectas a la tierra del puerto paralelo
 
Hola, meta, me llamo Kuo Yao Ming, como estas?
Una consulta, estoy haciendo un proyecto de robotica para la 8º competencia de bahia blanca- argentina.
me surgio un problemita , no encuentro instrucciones para manejar con analogica.
La idea es simple:
Ej: si Porta.0 es mayor que 2V, saltar hasta la rutina "estrategia"
Tambien me podrian recomendar algun manual de assembler que sea entendible??
Muchas Gracias de tomar el tiempito por leer mi mensaje:)
Atte.Kuo Yao Ming
 
Hola alguien pudo usar las librerias io.dll e inpout32.dll en dev c++? yo no se como adjuntarlas o usarlas.
me podrian dar una mano?

tengo que hacer unas practicas con el puerto paralelo.

muchas gracias desde ya.
 
Aqui va mis primeras pruebas, ni led ni nada, solo me basto un multimetro puesto con mucho cuidado al lpt para saber que trabajaba en modo dos, luego hice un proyectico trafic light, que fue en windows, use Enbarcadero son los dueños actuales de Borland pero logre que windows me diera acceso al lpt, aunque hay que instalar un driver para eso, te lo estoy buscando, dame un chance, saludos.
 

Adjuntos

  • El puerto paralelo de la PC por Virgilio Gómez Negrete.zip
    29.9 KB · Visitas: 38
Aqui va mis primeras pruebas, ni led ni nada, solo me basto un multimetro puesto con mucho cuidado al lpt para saber que trabajaba en modo dos, luego hice un proyectico trafic light, que fue en windows, use Enbarcadero son los dueños actuales de Borland pero logre que windows me diera acceso al lpt, aunque hay que instalar un driver para eso, te lo estoy buscando, dame un chance, saludos.

A lo mejor si hechas una mirada a este manual lo solucioines.
 
bueno mi pregunta es como puedo compilar esto eh provado todolos coiladres y no se con cual progaram lo ahn hecho les pedira si pudiera ayudarme solo quiero cambiar las palabra que dice el lcd para me sale error y creo que es proque no se con que compilador lo ham hecho si pidiran ayudarme se lo agradeseria

#include <16F877.h>
#USE DELAY( CLOCK=4000000)
#FUSES XT,NOWDT,NOPROTECT,NOPUT
#USE fast_IO (B)
#USE fast_IO (A)
#include <lcd.c>
#define LCD_DISPLAY_SHIFT_RIGHT 0x18
#define LCD_DISPLAY_SHIFT_LEFT 0x1C


byte CONST DISPLAY[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void temp(int i){
byte ud=i;
for (ud=i;ud>0;ud--){
OUTPUT_C(DISPLAY[ud]);
lcd_putc("---->>>>--->>>>");
if(input(pin_b1)==1)
{ lcd_putc("\n detengase");}
else
if(input(pin_b3)==1)
{lcd_putc("\n Cuidado");}
else
if(input(pin_b5)==1)
{lcd_putc("\n Avance");}
delay_ms(500);
lcd_putc("\n\f");
delay_ms(500);
}
}
main(){
lcd_init();
set_tris_d(0x00);
set_tris_c(0x00);
SET_TRIS_B(0x00);
SET_TRIS_A(0x00);
OUTPUT_B(0);
while(1){
set_tris_c(0x00);
set_tris_a(0xff);
output_b(0x00);
if((input(pin_a0)==0)&&(input(pin_a1)==0))
{
output_b(0x02);
temp(5);
output_b(0x08);
temp(2);
output_b(0x20);
temp(5);
}
if((input(pin_a0)==0)&&(input(pin_a1)==1))
{
output_b(0x02);
temp(5);
output_b(0x08);
temp(2);
output_b(0x20);
temp(8);
}
if((input(pin_a0)==1)&&(input(pin_a1)==0))
{
output_b(0x02);
temp(8);
output_b(0x08);
temp(2);
output_b(0x20);
temp(8);
}
if((input(pin_a0)==1)&&(input(pin_a1)==1))
{
output_b(0x02);
temp(9);
delay_ms(1000);
output_b(0x08);
temp(2);
output_b(0x20);
temp(5);
}
}

}
 
Hola san25, podrías explicar claramente que compiladores has usado, y que mensaje de error te devuelve.

Ademas, creo que lo que estas haciendo es un código para un PIC o me equivoco?, y este tema habla de manejo de puertos con PC, pero no soy quien para decidir si es off-topic.

Espero tu respuesta para poder ayudarte.

Saludos
 
Las librerías siempre se instalan en el directorio de sistema.
Windows x86 = C:\Windows\System32
Windows x64 = C:\Windows\SysWOW64
También se pueden instalar en la carpeta del ejecutable, si es que son de uso exclusivo.
Las librerías del tipo ActiveX requieren ser registradas con REGSVR32.exe
Y así como instalación, pues no, solo es copiar/pegar/*registrar
 
Atrás
Arriba