Problemas con inportb y outportb de Turbo C++
| #11 |
|
EinSoldiatGott
Colaborador
|
atmega128 escribió: Yo lo uso con el software AVRDUDE: Hola, he conseguido el giveio con su ejecutable e instrucciones el link es este para el que le interese http://files.filefront.com/giveiorar/;5247069;;/fileinfo.html Sin embargo aún no me funciona Ya seguí estas instrucciones Cita 1. Run the LoadDrv utility with giveio.sys in the same directory and click the install button. This should copy giveio.sys to the systems directory, but I've found that it doesn't. Alternatively, just copy giveio.sys to C:\WINDOWS\system32\drivers. Me dice que la aplicación ya esta ejecutándose al darle start, y lo que hace es ponerme en alto todos los bits de salida del puerto. Pero me voy a ver lo de los plugs & play no me aparece, aunque me encontré ahi el userport que había instalado antes y le di que se ejecutara automáticamente, reinicié pero no pasa nada. Que windows utiliza usted??? voy a probar formateando e instalando un windows no modificado. Saludos y gracias |
|||||||||||
|
|
||||||||||||
| #12 Creo haber encontrado algo sobre el tema. |
|
Dackman
|
Primero que nada... hola a todos "Espero ayudarlos y que me ayuden", soy novato en el tema de la programacion en Turbo C y no tengo mucha idea.... pero me puse las pilas y encontre algo que creo se nos van a facilitar las cosas.
Disculpen pero tengo muy poco tiempo programando y cambie a Win XP y me lleve la gran sorpresa... he aqui que busco en internet y encontre LO SIGUIENTE QUE LES PASO A EXPLICAR: YA LA MAYORIA SABE QUE WINXP TRABO LOS PUESTOS PARA QUE EL USUARIO "USERMODE" NO PUEDA HACER NADA O CASI NADA CON ELOS PERO UN TAL Craig Peacock QUE DESARROLLO EL FAMOSO """PORTTALK""" QUE PARA QUE VEAN ALGO TRAE ESTO DE EJEMPLO: #include <stdio.h> #include <windows.h> #include <pt_ioctl.c> void __cdecl main(void) { unsigned char value; printf("IoExample for PortTalk V2.0\nCopyright 2001 Craig Peacock\nhttp://www.beyondlogic.org\n"); OpenPortTalk(); outportb(0x378, 0xFF); value = inportb(0x378); printf("Value returned = 0x%02X \n",value); outp(0x378, 0xAA); value = inp(0x378); printf("Value returned = 0x%02X \n",value); ClosePortTalk(); } QUE NOS FACILITA LA PROGRAMACION CON TURBO C/C++ BAJO WINDOWS XP. AL NO TENER MUCHA EXPERIENCIA EN PROGRAMACION BAJO TURBO C/C++ Y SUS DERIVADOS LES PONGO EL LINK DE DONDE LO BAJO Y ESPERO QUE PRUEBEN Y ME DIGAN SI LO HICIERON ANDAR YA QUE YO NO PUDE. http://www.beyondlogic.org/porttalk/porttalk.htm HICE LO QUE PUDE PERO NO ENCUENTRO LAS SIGUIENTES LIBRERIAS WINIOCTL.H Y WINDOWS.H QUE SON LAS QUE ME DAN ERROR CUANDO COMPILO EL PROGRAMITA DE EJEMPLO. BUENO ESPERO QUE LES SEA UTIL Y MIENTRAS LO BUSCAN YO SIGO INTENTANDO HACER ALGO CON ESO. |
|||||||||||
|
|
||||||||||||
| #13 Re: Creo haber encontrado algo sobre el tema. |
| #14 |
|
Pampa Norte
|
¿Probaste buscar si hay un parche para que turbo c corra en xp?
|
|||||||||||
|
|
||||||||||||
| #15 |
|
maunix
Colaborador
|
Pampa Norte escribió: ¿Probaste buscar si hay un parche para que turbo c corra en xp? Mmmm, no creo que exista tal cosa porque no hay nada que parchar. Turbo C es un compilador de 16 bits, que corre en DOS y está pensado para DOS --> acceso directo al hardware Windows XP es un sistema operativo con 10 años de evolución posterior al turbo c, que encapsula las aplicaciones y no permite el acceso directo al hardware. La solución sería usar un compilador que haga otro tipo de gestión, ya sea mediante un componente o mediante una dll que a su vez se comunique con güindows :D Casualmente son estas cosas las que hay que cambiar cuando uno porta código de Windows a Linux y viceversa, solo para citar un ejemplo. No es simplemente cargar un 'parche' y listo. Saludos |
|||||||||||
|
|
||||||||||||
| #16 |
|
leo_programer
|
lo que dice maunix es muy cierto, yo hice un programa en c++ con visual c++ y usando la libreria que decian al principio io.dll, este me permite tomar control absoluto del puerto paralelo, mas sin embargo creo que no lo libera o algo asi, no soy muy bueno en ingles y la descripcion de esta libreria http://www.geekhideout.com/iodll.shtml lo esta en este idioma, si a alguien le sirve cojanlo, no conozco turbo c++ pero segun lo que dicen, va a quedar dificil que puedan implementar esa dll con ese compilador, utilizen otro como lo recomienda maunix, me avisan, cuidensen...
|
|||||||||||
|
|
||||||||||||
| #17 |
|
Pampa Norte
|
Yo estoy usando un programa llamado 12c prog v1.5 sirve para programar microcontroladores Atmel por el puerto paralelo. La cosa es que con win 98 funcionaba muy bien pero cuando instalé el xp dejó de funcionar justamente porque no podía acceder al puerto. Pude conseguir un parche que no se si es para el programa o para el xp y ahora funciona sin problemas. Por eso se me ocurrió decirte lo del parche, entiendo que hay distancias que salvar (este programa corre vajo win y no DOS) pero si el parche o lo que fuera actúa sobre el windows creo que eso no afecta.
El 12c prog v1.5 cuando lo baje estaba disponible en http://go.to/zackyfiles, tal vez puedas fijarte en ese lugar. No recuerdo de donde baje la dll que lo hizo funcionar pero en alguna carpeta de mi Pc lo debo tener y si te interesala busco y te la mando. Creo que no hay nada que perder. Suerte |
|||||||||||
|
|
||||||||||||
| #18 |
|
EinSoldiatGott
Colaborador
|
Pampa Norte escribió: Yo estoy usando un programa llamado 12c prog v1.5 sirve para programar microcontroladores Atmel por el puerto paralelo. La cosa es que con win 98 funcionaba muy bien pero cuando instalé el xp dejó de funcionar justamente porque no podía acceder al puerto. Pude conseguir un parche que no se si es para el programa o para el xp y ahora funciona sin problemas. Por eso se me ocurrió decirte lo del parche, entiendo que hay distancias que salvar (este programa corre vajo win y no DOS) pero si el parche o lo que fuera actúa sobre el windows creo que eso no afecta. Hola, si quiere puede subir su archivo, tal vez a alguien le sirva. Pero Mau tiene razón y lo comprobé tras probar con varios "parches", tal vez estos funcionen para Pascal pero al menos a mi para Turbo c++ no me funcionaron, el detalle o la solución no solo es incluir una dll sino que debemos modificar nuestro programa y decirle que utilice esa dll, entonces si va a funcionar. Así es como lo estoy haciendo en Visual Basic, agrego la inpout32.dll, y además debo compilar el programa con un módulo para esa dll. Imagino que en Turbo c++ debe ser igual pero no se como decirle que utilice una dll Saludos |
|||||||||||
|
|
||||||||||||
| #19 |
|
MaMu
Moderador
|
A ver si despejo dudas, aqui va:
Con la aparicion de los sistemas operativos como el NT y los basados en el, han descartado las funciones que permitian el acceso a puertos del pc de forma directa, puesto a que esto, implicaba que el sistema operativo fuera "poco seguro", motivo por el cual se decidio que el usuario NO tuviera acceso directo al kernel, funcion de privilegio. Por esta razon, se hizo necesario estudiar en estos sistemas operativos, la forma de acceder al Kernel y asi poder controlar la lectura y escritura de los puertos. Un usuario, solo tiene acceso a nivel usuario (administrador) pero.... las librerias, como las de enlace dinamico, las que conocemos como DLL, si tienen acceso directo al Kernel, pues, se instalan y ejecutan en ese lugar. El dato, es que las DLL las podemos controlar, y si podemos controlar una DLL, que esta a su vez controle el Kernel, estariamos controlando como usuarios el Kernel de una forma "indirecta", pero controlandolo al fin y al cabo, y asi logramos el cometido, controlar la escritura y lectura de puertos a nuesto gusto. DLL's para este fin hay muchas, usamos las que se nos amolde, o la que logramos encontrar. Una tecnica muy buena, es encryptar la dll adentro del ejecutable, y expandirla e instalarla en run time, asi nos olvidamos de distribuirla junto con nuestro programa, ya que esta incorporada. Saludos. |
|||||||||||
|
|
||||||||||||
| #20 |
|
maunix
Colaborador
|
MaMu escribió: Exacto! solo que no fue por invento de Microsoft ni de su gente, sino que los Unix ya lo venían haciendo por más tiempo. Eso de encapsular aplicaciones :D Jeje, Microsoft nos acercó algunas cosas, pero no las inventó ni mucho menos Todavía me acuerdo cuando yo usaba DOS en modo texto y tenía una conocida publicista que usaba su MAC de entonces, controlada con un mouse de 1 solo botón en un entorno totalmente gráfico 8) |
|||||||||||
|
|
||||||||||||
|
| Otros temas de interés | |
|---|---|
| Como adquiero la señal de 20 sensores por un mismo puerto? | |
| Convertir de Puerto Paralelo a USB | |
| Interface IrDA para el puerto serial | |
| Puerto infrarrojo IrDA para PC | |
| Activar registro del puerto paralelo | |
| Foros de Electronica |
| ||
Cuestiones Elementales de Electrónica ||
Fuentes de alimentacion ||
Circuitos de radio ||
Diseño de circuitos en general || || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Site Map
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad

