Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

01/12/2010 #1


duda programacion en puerto paralelo C
Hola, tengo la siguiente duda estoy pensando en hacer un proyecto con el puerto paralelo en turbo C entonces me gustaria realizar con el registro de datos las operaciones de leer y escribir, se que este registro es bidireccional pero mi duda es la siguiente:
¿en el msmo registro puedo leer y escribir datos al MISMO TIEMPO?
por ejemplo tener 4 bits designados a escritura
y 4 bits designados a lectura ¿es esto posible en el mismo registro de datos?

pongo por ejemplo el siguiente programa:

#include <stdio.h>
#include <dos.h>

#define LPT_BASE 0x378 /* dirección base del puerto paralelo */
#define DATOS LPT_BASE /* dirección de E/S del reg. de datos */
#define CONTROL LPT_BASE+2 /* dirección de E/S del reg. de control */

#define C5_ON 0x20 /* bit 5 de CONTROL a 1 */
#define C5_OFF 0x00 /* bit 5 de CONTROL a 0 */

main ()
{
unsigned char byte; /* byte para operaciones de E/S */

clrscr();

printf ("Introduce el byte que se enviará al puerto: ");
scanf("%u", &byte); getchar();

outportb (CONTROL, C5_OFF ); /* pone el puerto en modo salida */

outportb (DATOS, byte); /* envía un byte */

printf ("Polariza las líneas del puerto y pulsa una tecla\n"); getchar();

outportb (CONTROL, C5_ON ); /* pone el puerto en modo entrada */

byte = inportb (DATOS); /* lee un byte */

printf ("El valor leído es %i", byte);
getch();
return 0;
}


en el programa anterior se lee y se escribe un byte poniendo el modo entrada y salida pero no al mismo tiempo, pero lo que yo deseo es escribir 4 bits y leer 4 bits al mismo tiempo ¿es posible?
02/12/2010 #2

Avatar de Meta

Hola:

¿Te vale controlar el puerto paralelo con Visual Studio .net?

Ver manual.
http://electronica-pic.blogspot.com/...alelo-lpt.html

Saludo.
02/12/2010 #3

Avatar de elbrujo

Poder podes, en realidad es linea a linea secuencial, entonces no es al mismo tiempo
02/12/2010 #4


Meta dijo: Ver Mensaje
Hola:

¿Te vale controlar el puerto paralelo con Visual Studio .net?

Ver manual.
http://electronica-pic.blogspot.com/...alelo-lpt.html

Saludo.
no, me exigen que sea en Turbo C (lo se, obsoleto)

elbrujo dijo: Ver Mensaje
Poder podes, en realidad es linea a linea secuencial, entonces no es al mismo tiempo

el problema especificamente esta asi:

suponiendo que voya usar los 4 bits menos significativos para leer
y los 4 mas significativos para enviar

entonces en teoria tengo del 0 al 16 para enviar datos
y del 17 al 255 para recibir
el problema es que cuando lea un 125 quiero que de la instruccion 12, pero si hago esto,
el 125 ya no seria 125 por que modifique los bits menos significativos, entonces no se si habra un codigo que me limite el rango de lectura y escritura para dichos bits.
02/12/2010 #5

Avatar de elbrujo

No entiendo lo que queres hacer y porque queres hacerlo asi?
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.