[ Lazoman @ 25.05.2011. 08:00 ] @
Trebamo da projektujemo hardversku karticu i da napisemo program za kontrolu ulaznih signala preko paralelnog porta PC računara,a treba koristiti opticku vidljivost kartice i porta.

Moze li neko da mi pojasni sta se trazi u ovom zadatku,jer tesko je zamisliti sve to a ne zapoceti ovako nesto,ima li neko neki predlog,bilo sta samo da zapocnemo,inace ovo radimo na vezbama na blok nastavi iz automatike :/
Uopste nemam predstavu sta bi sve mogla da bude ova hardverska kartica i uopste kako rade ti paralelni portovi i uopste ta komunikacija sa delphi-jem ?
[ savkic @ 25.05.2011. 17:01 ] @
> Trebamo da projektujemo hardversku karticu i da napisemo program za kontrolu ulaznih signala preko paralelnog porta PC računara,a treba koristiti opticku vidljivost kartice i porta.

> Uopste nemam predstavu sta bi sve mogla da bude ova hardverska kartica

To moraš razjasniti sa profesorom. Meni recimo nije jasno šta predstavlja deo o optičkoj vidljivosti kartice i porta.

> i uopste kako rade ti paralelni portovi i uopste ta komunikacija sa delphi-jem ?

Taj deo je najlakši, koristiš standardne funkcije CreateFile, WriteFile, ReadFile npr kod za slanje nekog fajla na lpt.

Code:

procedure TPrintObject.DirectPrint(const AFile, ADest: string);
var
  BytesWritten: DWORD;
  hPrinter: THandle;
  Source: TMemoryStream;
begin
  hPrinter := CreateFile(PChar(ADest), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);

  Source := TMemoryStream.Create;
  try
    Source.LoadFromFile(AFile);
    Source.Position := 0;
    WriteFile(hPrinter, Source.Memory^, Source.Size, BytesWritten, nil);
  finally
    Source.Free;
  end;

  CloseHandle(hPrinter);
end;


A pozivaš sa DirectPrint('C:\Autoexec.bat', 'LPT1'); // ili 'LPT1:'
[ Lazoman @ 26.05.2011. 15:46 ] @
Koristiti optičko odvajanje paralelnog porta od kartice,to se odnosi da se za prenos tog napona od 5V koristi optokapler,znaci dioda osvetli bazu tranzistora koji dalje prenosi napon na racunar,ukoliko dobijemo napon na LPT onda je motor ukljucen ako ne onda nije