Programowanie LPT

0

Witam
Chciałbym napisać program który odczytuje dane z portu równoległoego oraz następnie zapisuje te dane np. do pliku tekstowego. Jestem początkującym zapalniecem:) znam podstawy języka pascal oraz c++. Może ktoś mi pomóc?? Jak się za to zabrać, w jakim programie pisać?? lub napisać przykład??

Pozdrawiam dahra

0

Cześć
Poszukaj czegoś takiego jak INPOUT (biblioteka dll umożliwiająca dostęp do LPT.
Tutaj przykład zastosowania...
http://logix4u.net/Legacy_Ports/Parallel_Port/A_tutorial_on_Parallel_port_Interfacing.html

Dopisałem później
Aha.. odczyt to nie takie proste... Poczytaj o ECP/EPP

Pozdr. mickpr

0

Dzięki za pomoc:)
Mam program napisany w dev c++ no i odczytuje mi wszystkie porty. Uruchamiam go przez wiersz poleceń. Podaje linka do zdjęcia z tym programem
http://img683.imageshack.us/img683/4063/lpt.png
Ale chciałbym wejść w dany port powiedzmy ten pierwszy <0378>= 00AA i odczytać z niego dane i zapisać je do pliku tekstowego. Czy coś takiego jest w ogóle możliwe??

Podaje jeszcze tekst źródłowy programu:
#include <stdio.h>
#include <conio.h>
#include <windows.h>

 typedef short (_stdcall *inpfuncPtr)(short portaddr);
 typedef void (_stdcall *oupfuncPtr)(short portaddr, short datum);

int main(void)
{
HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;
short x;
int i;
hLib = LoadLibrary("inpout32.dll");
if (hLib == NULL) {
printf("Błąd przy wczytywaniu biblioteki.\n");
return -1;
}

 inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");

 if (inp32 == NULL) {
      printf("GetProcAddress dla Inp32 Failed.\n");
      return -1;
 }

 oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");

 if (oup32 == NULL) {
      printf("GetProcAddress dla Oup32 Failed.\n");
      return -1;
 }

 for (i=0x378; (i<0x380); i++) {

      x = (inp32)(i);

      printf("Port odczytu (%04X)= %04X\n",i,x);
 }

 i=0x378;
 x=0x77;

 (oup32)(i,x);

 printf("Napisz do portu 0x%X, datum=0x%2X\n" ,i ,x);

 x = (inp32)(i);
 printf("Port odczytu (%04X)= %04X\n",i,x);


 i=0x378;
 x=0xAA;

 (oup32)(i,x);

 printf("Napisz do portu 0x%X, datum=0x%2X\n" ,i ,x);

 x = (inp32)(i);
 printf("Port odczytu (%04X)= %04X\n",i,x);

 FreeLibrary(hLib);
 return 0;

}
Pozdrawiam dahra

1 użytkowników online, w tym zalogowanych: 0, gości: 1