Bien, mi nombre es Ivan y desde hace algun tiempo migre de visual C++ a Delphi por su rapidez en cuanto al desarrollo de software.
El área que mas me interesa es el enlace de Delphi con cualquier tipo de sistemas electronicos (la primera vez conecte la plancha a mi computadora), y quisiera que este hilo nos sirva para dar soluciones concretas al problema de enlace desde delphi a cualquier puerto.
bien para empezar iniciare con el puerto paralelo (el mas facil) para que de una vez empiecen a trabajar.
Sabemos que en las versiones de windows actuales no se permite acceder a los puertos tan facilmente,
Esto se debe de hacer en el mejor de los casos mediante una DLL que nos de acceso.
Para nuestra fortuna existe una libreria llamada inpout32.dll que hace todo el trabajo, que la pueden encontrar en muchos sitios de internet o pedirmela en mi correo.
Para cargar esta libreria hay que construir una nueva UNIT y declarar las funciones necesarias de la siguiente manera:
unit CargarLibreria;
interface
procedure Out32(PortAddress: Word; Data: Byte); stdcall;
function Inp32(PortAddress: Word): Byte; stdcall;
implementation
procedure Out32(PortAddress: Word; Data: Byte); external 'inpout32.dll';
function Inp32(PortAddress: Word): Byte; external 'inpout32.dll';
end.
y ya con esto podemos llamar a las funciones
Out32(Puerto, Dato)
Inp32(Puerto)
desde cualquier porcion de codigo no sin antes anexar nuestra unidad en la clausula USES.
Para enviar el numero del puerto es 888 ó $378 (Hexadecimal)
Ejemplo: Enviar un cero al puerto paralelo indispensable para inicializar el puerto y al cerrarlo.
////////////////////////////////////
Out32(888, $00);
/////////////////////////////////////
Para recibir o leer el dato el puerto es 889 ó $379 (Hexadecimal)
Ejemplo: Recibir un dato del puerto paralelo.
//////////////////////////////////////////
Declarar un dato tipo
Dato: Byte;
y capturamos
Dato := Inp32(889);
//////////////////////////////////////////
Eso es todo por el momento, la proxima ocasión les dire como estan organizados los bytes que recibimos de entrada y de salida, es decir la organizacion fisica del byte.
Al finalizar con el puerto paralelo seguiremos con el puerto serial.
Hasta pronto. Agradeceria que me dieran sus criticas.