Búsqueda personalizada
Regístrate gratis para participar de los foros, o si ya estás registrado haz login.
| comentario del autor | Mar Jul 17, 2007 5:06 pm | |
|
encontre un programa basico en Turbo C++ 3.0 (RS.cpp, RS.exe,) para el puerto paralelo(prender y apagar leds). cuando ejecuto RS.exe no me maneja los leds conectados en los pin de datos. ¿falta algo para poder habilitar el puerto? adjunto el archivo puertosc.zip (RS.cpp, RS.exe, pdf, block notas) |
||
| sin valorar | Mar Jul 17, 2007 11:18 pm | |
|
Una pregunta: ¿Que windows usas? Si es XP o 2000 no te va a funcionar porque el C++ es para MS-DOS y no tiene acceso directo al hardware en estos sistemas operativos. Se deben utilizar librerias dll para su control, por ejemplo la inpout32.dll! ¿Que tenes pensado hacer con el puerto? Si es algun desarrollo nuevo te recomiendo migres a otro compilador más actual, como C++ Builder o Delphi... Saludos! Marcos! |
||
| comentario del autor | Mie Jul 18, 2007 1:59 am | |
|
windows XP manejar la salidas de datos por lo pueto parlelo inpout32.dll ¿como enlazo al programa con este dll? si tienenes algun programa muestra en C++ Builder o Delphi... para manejar el puerto paralelo. |
||
| sin valorar | Mie Jul 18, 2007 3:07 am | |
|
Mira en el Delphi es muy facil sacar un dato por el puerto: Primero te aseguras de que la librería inpout32.dll esté en el mismo directorio en donde reside tu aplicación. Luego al principio del código de tu programa, debajo de implementación haces las siguientes declaraciones: Código:
Una vez hecho esto ya podes utilizar ambas funciones Inp32 y Out32 repectivamente. En este caso usamos la Out32: Código:Out32(direccion_del_puerto,dato_a_poner_en_el_puerto);
En dirección_del_puerto pones: $378 para el LPT1 $278 para el LPT2 En dato_a_poner_en_el_puerto pones un número entero entre 0 y 255. 255 para todos los led prendidos y 0 para todos apagados. Ejemplo: Código:Out32($378,170);
Entonces se prenden los leds 10101010 Te adjunto un captura del programita y un zip del codigo fuente! Saludos! Marcos |
||
| comentario del autor | Jue Jul 19, 2007 3:43 pm | |
|
excelente la aplicacion del puerto paralelo en Delphi. donde puedo bajar este programa DELPHI y se habra algunos ejemplos para poder aprender mas este lenguaje de programcion. y utilizar el puerto paralelo, puerto serial, tarjeta sonido .etc. ¿como puedo crear mi propio .dll? saludos gracias |
||
| sin valorar | Jue Jul 19, 2007 10:45 pm | |
|
Despues buscate en el mismo e m u l e manuales hay bastantes para bajar con muy muy mucha información. Con respecto a como crear tu propia dll... eso tambien se hace con delphi... pero es algo complicado de explicar si no conoces el lenguaje todavia! Suerte... Vas a ver que hay un "mundo" de delphi esperandote en la red! Saludos! Marcos |
||
| sin valorar | Jue Jul 19, 2007 11:35 pm | |
|
gracias por la ayuda voy a descargar programa y tutoriales. |
||
| sin valorar | Vie Jul 20, 2007 7:31 pm | |
|
|
||
| sin valorar | Lun Abr 28, 2008 4:34 pm | |
|
Alguien sabe como tengo que declaralo? |
||
| sin valorar | Vie May 02, 2008 1:11 am | |
|
Solo tenes que cambiar el nombre de la dll y de sus funciones internas Esto va en el header (*.H) typedef void (WINAPI *PORTOUT) (short int Port, char Data); typedef char (WINAPI *PORTIN) (short int Port); typedef short int (WINAPI *ISDRIVERINSTALLED)(); PORTOUT PortOut; PORTIN PortIn; ISDRIVERINSTALLED IsDriverInstalled; HMODULE hio; void TForm1::UnloadIODLL() { FreeLibrary(hio); } int TForm1::LoadIODLL() { hio = LoadLibrary("io"); if (hio == NULL) return 1; PortOut = (PORTOUT)GetProcAddress(hio, "PortOut"); PortIn = (PORTIN)GetProcAddress(hio, "PortIn"); IsDriverInstalled = (ISDRIVERINSTALLED)GetProcAddress(hio, "IsDriverInstalled"); return 0; } Esto va en el modulo (*.CPP) void __fastcall TForm1::FormCreate(TObject *Sender) { int z; z = LoadIODLL(); if(z) { Application->MessageBox("No se puede cargar io.dll\nEl sistema no puede continuar","Error",16); } z = IsDriverInstalled(); if (!z) { Application->MessageBox("No se puede cargar io.dll\nEl sistema no puede continuar","Error",16); } return; } void __fastcall TForm1::FormDestroy(TObject *Sender) { UnloadIODLL(); } Despues podes usar, por ejemplo PortOut(888,255); Suerte ! |
||
| sin valorar | Mie Oct 15, 2008 10:05 am | |
|
disculpa la molestias pero como se utiliza el inp32 en delphi, para obtener datos del puerto paralelo. |
||
| sin valorar | Lun Abr 13, 2009 10:52 am | |
|
soy bastante nuevo en el manejo de puerto paralelo. hay alguna forma de pasar de 0 a 1 y de 1 a 0 cada uno de los 7 pines utilizables del paralelo? porque en el ejemplo que mandaron, que esta genial, solo veo que Out32($378,255); prende todos, pero se puede hacer de manera selectiva? como sería para cada uno? mil gracias, esteban |
||
| sin valorar | Mar Abr 21, 2009 8:02 am | |
|
Los mas faciles son los 8 pines del 2 al 9 inclusive. El 2 se pone en uno cambiando el 255 por un 1. El 3 se pone en uno cambiando el 255 por un 2. El 4 se pone en uno cambiando el 255 por un 4. El 5 se pone en uno cambiando el 255 por un 8. El 6 se pone en uno cambiando el 255 por un 16. El 7 se pone en uno cambiando el 255 por un 32. El 8 se pone en uno cambiando el 255 por un 64. El 9 se pone en uno cambiando el 255 por un 128. Para encender el 5 ( Para encender los 4 ultimos (6, 7, 8 y 9)haces: 16 + 32 + 64 + 128 = 240 |
||
| sin valorar | Mar Abr 21, 2009 8:36 am | |
|
lo logre poniendole un fuking tester a la salida del paralelo y fui probando, compilando el programa por cada uno y me arme una tablita. otra preguntonta sería si alguien sabe como armar una lista de numero binarios en excell, pero por ahí es para otro foro. ahora que le enganche la onda al dll, ya arme varias cosas diferentes, esta bastante bueno el asunto. mil gracias, +esteban |
||
| sin valorar | Lun Jun 29, 2009 5:01 pm | |
|
|
||
| sin valorar | Lun Jun 29, 2009 5:04 pm | |
|
|
||