PRN_DEMO/SOFT_DOC.TXT
2021-09-08 21:36:37 +02:00

385 lines
18 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

8i8o Documentaci¢n
del Software
Indice
1 ¨ Que software incluye el kit ?
2 Descripci¢n de comandos.
3 Primeros pasos.
4 Creaci¢n de un programa ejemplo DEMO.C
5 Preguntas y Respuestas.
6 Puntos de consulta directa.
NOTA:
Todas las referencias que se hagan aqui a la programaci¢n
seran basadas en el lenguaje C, ya que para otros lenguajes
las librerias a utilizar seran las mismas, asi como los
nombre y operaciones internas de las funciones.
-------------------------------------------------------------------------------
¨ Que software incluye el kit ?
Disco 1: [CONTENIDO]
soft_doc.txt Documentaci¢n del software ( texto MS-DOS ).
hard_doc.txt Documentaci¢n del hardware ( texto MS-DOS ).
softhard.hlp D. Software y Hardware ( Formato WinHELP ).
InfoMund.gif Imagen del logotipo de InfoMundo
8i8o_pb .gif Imagen del circuito prototipo 8i8o_pb
conexion.txt Ideas de conexiones frecuentes.
catalogo.txt Lista de productos ofrecidos por InfoMundo.
lib_tc\prn_cnt?.lib Librerias en C, para Tiny, Medium, Compact, Large y Huge .
prn_cnt .h Cabeceras para las librerias.
demo .c Demo completo de una utilizaci¢n global.
demo .exe Programa demo.c compilado
kit .c Programa ejemplo.
lib_cp\prn_cnt .lib Librerias para Clipper.
prn_cnt .h Cabeceras de las librerias.
io .prj Fuente en clipper ( para escribir y leer ).
lib_vb\prn_cnt .vbx Librerias en Visual Basic ( ver 3.0 >> ).
puertos .dll .DLL para el control de los puertos en VB.
control .bas Demostraci¢n de las librerias para VB.
infomund\infomund.hlp Archivo en formato winHELP, que habla de IM
-------------------------------------------------------------------------------
Descripci¢n de comandos.
Û> Init_all Û> Register
Û> Reset_all
Û> Lee_Salidas Û> Lee_Salida
Û> Escribe_Salidas Û> Escribe_Salida
Û> Lee_Entradas Û> Lee_Entrada
/**************************************************************************\
| |
| Esta rutina debe ser llamada al iniciar el programa que use las librerias. |
| |
| Es la encargada de poner a cero todas la salidas, al principio y al salir. |
| |
| |
| Parametros de Entrada: ( ninguno ) |
| Parametros de Salida: |
| OK Todo ha ido bien. |
| ERROR_EN_ATEXIT Error registrando funci¢n |
| FUNCION_YA_REGISTRADA No es la 1¦ vez |
| |
\**************************************************************************/
Û> int Init_all(void);
/**************************************************************************\
| |
| WARNING: |
| El uso de la siguiente funci¢n esta indicada solo para usuarios |
| experimentados, se debe usar en lugar de la funci¢n anterior. |
| |
| Parametros de Entrada: |
| ( LEER/ESCRIBIR ) // L/E los registros del fich|
| ( %s ) // _ero %s |
| |
| Parametros de Salida: |
| 1 Ok! OK |
| -1 Fallo desconocido FALLO_DESCONOCIDO |
| -2 Archivo no existe NO_ARCHIVO |
| -3 Error archivo no valido ARCHIVO_INCORRECTO |
| |
\**************************************************************************/
Û> int Register( char leer_escribir, char *file );
/**************************************************************************\
| |
| Resetea todas las salidas y las pone a cero. |
| |
\**************************************************************************/
Û> void Reset_all(void);
/**************************************************************************\
| |
| Obtiene el estado de las salidas ( On/Off ), de la ampliacion AMPL. |
| |
| Parametros de Entrada: |
| ampl Ampliaci¢n donde debemos mirar |
| estados Puntero a estructura con los estados |
| |
| Parametros de Salida: |
| char 1Byte con los estados |
| |
| NOTA: si &estados es NULL, solo se devolvera el char de salida. |
\**************************************************************************/
Û> unsigned char Lee_Salidas( char ampl, ESTADOS *estados );
/**************************************************************************\
| |
| Obtiene el estado de una salida ( On/Off ), cualquiera. |
| |
| Parametros de Entrada: |
| salida ( Si 1 ampl. 0 a 7 ) |
| ( Si 10 ampl. 0 a 80 ) |
| |
| Parametros de Salida: |
| char 1Byte con el estado |
| |
\**************************************************************************/
Û> unsigned char Lee_Salida( char salida );
/**************************************************************************\
| |
| Escribe la variable 'estados' ( On/Off ), en la ampliacion AMPL. |
| |
| Parametros de Entrada: |
| ampl Ampliaci¢n donde debemos mirar |
| estados Puntero a estructura con los estados |
| estadosb Byte con los estados |
| |
| Parametros de Salida: |
| char 1Byte con los estados |
| |
| NOTA: si &estados es NULL, se utilizar  el char con los estados. |
\**************************************************************************/
Û> unsigned char Escribe_Salidas( char ampl, ESTADOS *estados, char estadosb );
/**************************************************************************\
| |
| Parametros de Entrada: |
| salida ( Si 1 ampl. 0 a 3 ) |
| ( Si 10 ampl. 0 a 80 ) |
| estado ( ON / OFF ) |
| |
| Parametros de Salida: |
| char 1Byte con el estado |
| |
\**************************************************************************/
Û> unsigned char Escribe_Salida( char salida, char estado );
/**************************************************************************\
| |
| Lee las entradas y la almacena en la variable estados. |
| |
| Parametros de Entrada: |
| ampl Ampliaci¢n donde debemos mirar |
| estados Puntero a estructura con los estados |
| |
| Parametros de Salida: |
| char 1Byte con los estados |
| |
| NOTA: si &estados es NULL, solo se devolvera el char de salida. |
\**************************************************************************/
Û> unsigned char Lee_Entradas( char ampl, ESTADOS *estados );
/**************************************************************************\
| |
| Lee una entrada cualquiera. |
| |
| Parametros de Entrada: |
| entrada ( Si 1 ampl. 0 a 7 ) |
| ( Si 10 ampl. 0 a 80 ) |
| |
| Parametros de Salida: |
| char 1Byte con el estado |
| |
\**************************************************************************/
Û> unsigned char Lee_Entrada( char entrada );
-------------------------------------------------------------------------------
Primeros pasos.
En esta secci¢n describiremos los principios b sicos para utilizar
nuestro Software.
Junto con el programa tenemos que crear un proyecto en el que se
incluyan nuestro programa y la libreria correspondiente al modelo
de memoria que estemos utilizando.
En primer lugar antes de empezar a realizar operaciones con el 8i8o
deberemos indicar en que puerto se encuentra, cargando la variable
Û> Lpt_usado = [1:Ltp1, 2:Lpt2, 3:Lpt3]
acto seguido debemos resetear todas las salidas:
Û> #include "prn_cnt"
Û> void main( void )
Û> {
Û> Lpt_usado = 1;
Û> reset_all();
Û> }
la funcion reset_all, puede ser sustituida por 'Register', esta
ultima esta indicada cuando se ha salido voluntariamente de su
programa y quiere guardar en un archivo el estado de las salidas,
de modo que al volver a entrar todo siga igual, sin ninguna
alteraci¢n. ( Para que al salir del programa no se reseteen las
salidas, basta con no llamar a la funcion reset_all ).
para escribir en el '8i8o' podemos utilizar una de las dos
funciones disponibles:
'Escribe_Salida' o 'Escribe_Salidas' la diferencia
reside en que a la primera le indicamos la salida f¡sica y el
estado ON, OFF. La segunda sirve para poner en el estado que deseemos
la ampliaci¢n, es decir, seleccionar el estado de los 8 bit's de golpe.
Û> #include <stdio.h>
Û> #include "prn_cnt"
Û> void main( void )
Û> {
Û> int salida, estado;
Û> Lpt_usado = 1;
Û> reset_all();
Û> do{
Û> printf( "\n Introduzca Salida y Estado [1:ON, 0:OFF] " );
Û> printf( "\n estado > 1 Termina el Programa. " );
Û> scanf ( "%d %d", &salida, &estado );
Û> Escribe_Salida( salida, estado );
Û> }while( estado<=1 );
Û> }
las funciones destinadas a la lectura se usan de igual forma que
las anteriores para la escritura, existiendo igualmente dos funciones
para leer una salida determinada o leer una ampliaci¢n de golpe,
se¤alar que las entras al '8i8o' pueden funcionar directamente como
buses de datos digitales y no solo anal¢gicos.
Û> #include <conio.h>
Û> #include "prn_cnt"
Û> void main( void )
Û> {
Û> unsigned char estados;
Û> Lpt_usado = 1;
Û> reset_all();
Û> cprintf( "\n Pulse una tecla para acabar " );
Û> cprintf( "\n 1 entrada de datos ON " );
Û> cprintf( "\n 0 entrada de datos OFF " );
Û> do{
Û> gotoxy( 10, 15 );
Û> estados = Lee_Salidas( 1, NULL );
printf( "\n%d %d %d %d %d %d %d %d", ( estado & 0x80 ) != 0,
( estado & 0x40 ) != 0,
( estado & 0x20 ) != 0,
( estado & 0x10 ) != 0,
( estado & 0x08 ) != 0,
( estado & 0x04 ) != 0,
( estado & 0x02 ) != 0,
( estado & 0x01 ) != 0 );
Û> }while( !kbhit() );
Û> }
Como puedes ver, la programaci¢n de nuestro dispositivo es tan
sencilla como decir donde y que queremos hacer. El limite esta
en tu imaginaci¢n y conocimientos.
-------------------------------------------------------------------------------
Creaci¢n de un programa ejemplo DEMO.C
Vea fichero DEMO.C
Puntos importantes:
-Realiza una lectura continua del bus de entrada
-Controla la 1§ ampliaci¢n del 8i8o
-Al entrar comprueba que no se hubiera entrado
antes, recordando el estado de las salidas, register,
si al salir, todas las salidas estan a cero, se
elimina el archivo register, para que al volver a
entrar se reseteen las salidas.
-------------------------------------------------------------------------------
Preguntas y Respuestas
Bien, de momento ninguno de nuestros clientes nos han planteado ninguna
respuesta, y esperamos que siga siendo asi, ya que eso es se¤al de la
buena documentaci¢n incluida y el sencillo manejo del '8i8o'.
De todas formas si tiene alguna pregunta, no dude en realizarnosla.
Aprovecho para realizar unas cuantas:
¨ Que complementos tengo para mi '8i8o' ?
Para saber que complementos, puede adquirir para su '8i8o' solo tiene
que editar el fichero CATALOGO.TXT.
¨ Quien es la asociaci¢n InfoMundo ?
Abre el fichero infomund.hlp, y enterate de quienes somos, que hacemos,
y por que no, unete a nosotros, colaborando en proyectos y debates.
-------------------------------------------------------------------------------
Puntos de consulta directa.
Puedes dirigirte a nosotros via e-mail:
infomundo@arrakis.es
guill@galileo.fie.us.es
por telfono:
a los propios Creadores del 8i8o :
Francisco Lopez [hardware] -------> 568 xx xx
Francisco Millan [hardware] -------> 568 xx xx
Jos David Guilln [software] -------> 561 xx xx
Josue [software] -------> 568 xx xx
a nuestra BBS:
8 nodos : xX XXx xX
-------------------------------------------------------------------------------
F I N
-------------------------------------------------------------------------------
eof file.