SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: 010011010 en Martes 29 de Noviembre de 2005, 02:32

Título: Interface Con Puertos
Publicado por: 010011010 en Martes 29 de Noviembre de 2005, 02:32
Hola , no corre este programa alguien sabe por q?

Citar
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <dos.h>
#define outportb (unsigned int directdatos,datosalida)

unsigned int directdatos=0x378;
unsigned char datosalida;
int res=0;
void main()
{
int i;
datosalida=0x80;
for(i=8;i>=1;i--)
   {
    outportb(directdatos,datosalida);
      cout << "\n Prendio el bit =>" <<i;
      getch();
      datosalida>>1;
   }
}

gracias
Título: Re: Interface Con Puertos
Publicado por: pitukilloloco en Martes 29 de Noviembre de 2005, 02:58
Este programa quizá podría correr si utilizaras el antiguo sistema operativo MS-DOS, el cual te permitía tener control casi total de la máquina. En este caso en particular estás tratando de accesar una dirección baja de la memoria principal, pero si estás usando cualquiera de las versiones de Windows a partir de la 95 (Windows 95, 98, ME, NT, 2000, XP) entonces no vas a poder correr este programa ya que el sistema restringe el que puedas accesar directamente estas áreas. Para hacer esto tienes que informarte de las funciones que ofrece la API de Windows para que a través de ellas tengas acceso.
Título: Re: Interface Con Puertos
Publicado por: 010011010 en Martes 29 de Noviembre de 2005, 03:10
Si era lo q estaba viendo en un libro, pero gracias, lo checare eso.

tnx
Título: Re: Interface Con Puertos
Publicado por: punteroNULO en Viernes 2 de Diciembre de 2005, 01:51
Para operar con el puerto paralelo (0x378) como se dijo antes debes usar la API de Windows.

En la página de desarrollo de Microsoft (msdn) viene información de como realizarlo, concretamente en esta dirección:

Operación del puerto paralelo (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ParPorts_d/hh/ParPorts_d/vspd_73157715-9621-45f3-a7fd-c935f74ec012.xml.asp)

Espero que te sirva de ayuda.
Hasta luego.